[問題] enum上的一個問題
以下是程式碼
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
char key;
enum color
{
red=114,
green=103,
blue=98
}shirt;
do
{
printf("請輸入r,g或b:");
scanf("%c",&key);
fflush(stdin);
}while((key!=red)&&(key!=green)&&(key!=blue));
shirt=key; ←我的主要問題在這一行~~~ 為什麼會編譯器說這行有bug
In function 'int main()':
invalid conversion form 'char' to 'main()::color'
switch(shirt)
{
case red:
printf("你選擇了紅色\n");
break;
case green:
printf("你選擇了綠色\n");
break;
case blue:
printf("你選擇了藍色\n");
break;
}
system("pause");
return 0;
}
我想要寫一個可以讓使用者輸入r、g和b這三個鍵,分別代表紅、綠、藍三個顏色,
程式的輸出則是印出相對應的顏色訊息。如果輸入的不是這三個鍵程式會要求重新輸入。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.118.52.229
→
10/23 01:31, , 1F
10/23 01:31, 1F
→
10/23 01:32, , 2F
10/23 01:32, 2F
→
10/23 02:04, , 3F
10/23 02:04, 3F
推
10/23 10:56, , 4F
10/23 10:56, 4F
→
10/23 10:57, , 5F
10/23 10:57, 5F
推
10/25 07:34, , 6F
10/25 07:34, 6F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章