[問題] enum使用問題

看板C_and_CPP作者 (塔落熊)時間9年前 (2015/05/07 16:29), 9年前編輯推噓7(7016)
留言23則, 10人參與, 最新討論串1/1
開發平台(Platform):C 問題(Question):enum使用問題 餵入的資料(Input): 這是書本的自我評量題目:利用列舉型態將一個星期的英文列出 以下是我的程式內容 #include<stdlib.h> #include<stdio.h> #include<time.h> #include<math.h> enum week { Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday }day; int main(void) { int i; for(day=Monday;day<=Sunday;day++) { switch(day) { case 0:printf("Monday\n"); break; case 1:printf("Tuesday\n"); break; case 2:printf("Wednesday\n"); break; case 3:printf("Thursday\n"); break; case 4:printf("Friday\n"); break; case 5:printf("Saturday\n"); break; case 6:printf("Sunday\n"); break; } } printf("\n\n"); system("PAUSE"); return 0; } 結果: 編譯時就出現錯誤, 要我填入operator, 好奇的是我的寫法應該跟書本範例相同, 不知為何會失敗? 查了一下文章, 似乎是還要再將day定義成int? 這樣的話是書本寫錯了嗎... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.96.124.117 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1430987363.A.B2F.html

05/07 16:49, , 1F
換一本書吧
05/07 16:49, 1F

05/07 17:16, , 2F
手上的是2003年的C語言教學手冊,是以前能這樣寫嗎?
05/07 17:16, 2F
※ 編輯: tarobear (175.96.124.117), 05/07/2015 17:24:01

05/07 17:56, , 3F
enum使用語法錯誤
05/07 17:56, 3F

05/07 18:10, , 4F
C 可以, C++ 不行. 檔案副檔名為何? 你又是如何編譯的?
05/07 18:10, 4F

05/08 00:08, , 5F
第一個變數不是要給數值嗎@@? 這樣他才會往上加吧?
05/08 00:08, 5F

05/08 00:08, , 6F
看別人的程式 第一個變數給0 後面就變1 2 3 4 ...
05/08 00:08, 6F

05/08 01:04, , 7F
第一個變數不給值的話內定是給 0, 一樣往上加
05/08 01:04, 7F

05/08 03:00, , 8F
原來是這樣 又學到了 謝謝E大
05/08 03:00, 8F

05/08 03:06, , 9F
回大大 剛才用codeblocks測試 編譯有過 也可執行耶@@
05/08 03:06, 9F

05/08 08:24, , 10F
樓上板友說過了 c 可以 c++不行,其他可能等你有機會
05/08 08:24, 10F

05/08 08:24, , 11F
學c++討論會好些。
05/08 08:24, 11F

05/08 11:01, , 12F
原來C可以(驚) 是會自動轉型成int?
05/08 11:01, 12F

05/08 11:20, , 13F
哈哈,突然想起敝公司某個騙吃騙喝的資深網路工程師~
05/08 11:20, 13F

05/08 11:21, , 14F
你懂了這個,可以來敝公司擔任網路開發部門經理
05/08 11:21, 14F

05/08 11:59, , 15F
修正: 敝公司 --> 敝目前任職的爛公司
05/08 11:59, 15F

05/08 15:29, , 16F
了解! 原來是跟編譯有關, 一直以來都存成.cpp 所以不行
05/08 15:29, 16F

05/09 01:03, , 17F
@shadow : C 是自動轉 int 沒錯 . C++ 就...
05/09 01:03, 17F

05/11 10:23, , 18F
c會把很多無宣告的東西直接當成int
05/11 10:23, 18F

05/15 17:52, , 19F
for(int day=Monday;day<=Sunday;day++)
05/15 17:52, 19F

05/15 17:55, , 20F
主要是"day" 既是變數名也為Enum type的名子
05/15 17:55, 20F

05/16 02:38, , 21F
樓上 , 你哪裡看到他碼裡寫 int day 了 ?
05/16 02:38, 21F

05/21 09:36, , 22F
意思只是要加int...
05/21 09:36, 22F

05/21 09:36, , 23F
上面確實沒int day沒錯XDD
05/21 09:36, 23F
文章代碼(AID): #1LIo9Zil (C_and_CPP)