看板 C_and_CPP 關於我們 聯絡資訊
開發平台(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
firejox: 換一本書吧 05/07 16:49
tarobear: 手上的是2003年的C語言教學手冊,是以前能這樣寫嗎? 05/07 17:16
※ 編輯: tarobear (175.96.124.117), 05/07/2015 17:24:01
johnpage: enum使用語法錯誤 05/07 17:56
yvb: C 可以, C++ 不行. 檔案副檔名為何? 你又是如何編譯的? 05/07 18:10
a22326284: 第一個變數不是要給數值嗎@@? 這樣他才會往上加吧? 05/08 00:08
a22326284: 看別人的程式 第一個變數給0 後面就變1 2 3 4 ... 05/08 00:08
EdisonX: 第一個變數不給值的話內定是給 0, 一樣往上加 05/08 01:04
a22326284: 原來是這樣 又學到了 謝謝E大 05/08 03:00
a22326284: 回大大 剛才用codeblocks測試 編譯有過 也可執行耶@@ 05/08 03:06
EdisonX: 樓上板友說過了 c 可以 c++不行,其他可能等你有機會 05/08 08:24
EdisonX: 學c++討論會好些。 05/08 08:24
shadow0326: 原來C可以(驚) 是會自動轉型成int? 05/08 11:01
ruthertw: 哈哈,突然想起敝公司某個騙吃騙喝的資深網路工程師~ 05/08 11:20
ruthertw: 你懂了這個,可以來敝公司擔任網路開發部門經理 05/08 11:21
ruthertw: 修正: 敝公司 --> 敝目前任職的爛公司 05/08 11:59
tarobear: 了解! 原來是跟編譯有關, 一直以來都存成.cpp 所以不行 05/08 15:29
EdisonX: @shadow : C 是自動轉 int 沒錯 . C++ 就... 05/09 01:03
Killercat: c會把很多無宣告的東西直接當成int 05/11 10:23
anyoiuo: for(int day=Monday;day<=Sunday;day++) 05/15 17:52
anyoiuo: 主要是"day" 既是變數名也為Enum type的名子 05/15 17:55
EdisonX: 樓上 , 你哪裡看到他碼裡寫 int day 了 ? 05/16 02:38
anyoiuo: 意思只是要加int... 05/21 09:36
anyoiuo: 上面確實沒int day沒錯XDD 05/21 09:36