저는 게임을하고 있는데 코드를 실행하고 "case label이 정수 상수로 줄어들지 않습니다"라는 오류가 나타납니다. 나는 이것이 무엇을 의미하는지 알 것 같지만 어떻게 고칠 수 있습니까? 내가 할 수있는 사용자가 옵션 중 하나의 유형 원하고, 그에 해당하는 조치를 할 것을 그래서케이스 레이블이 C에서 정수 상수로 축소되지 않습니까?
#include<stdio.h>
#include<stdlib.h
int player_cash[3] = {50};
char job[][20] {
'A',
'B',
'C',
"Donate",
"Go to work",
"Exit"
};
int jobs;
int main()
{
while(player_cash[0] > 0) {
printf("Please type A, B, C, Donate, Go to work, or Exit\n");
switch(jobs) {
case 'A':
player_cash[0]-=5;
player_cash[1]+=5;
printf("Cash=%i\n\n", player_cash[0]);
continue;
case 'B':
player_cash[0]-=5;
player_cash[2]+=5;
printf("Cash=%i\n\n", player_cash[0]);
continue;
case 'C':
player_cash[0]-=5;
player_cash[3]+=5;
printf("Cash=%i\n\n", player_cash[0]);
continue;
case "Donate":
player_cash[0]-=15; //Error here
player_cash[1]+=5;
player_cash[2]+=5;
player_cash[3]+=5;
printf("Cash donated\n\n");
printf("Cash=%i\n\n", player_cash[0]);
continue;
case "Go to work":
player_cash[0]+=10; //Error here
printf("Work done\n\n");
printf("Cash=%i\n\n", player_cash[0]);
continue;
case "Exit":
printf("Thanks for playing!\n\n"); //Error here
break;
default:
printf("Does not compute");
continue;
}
}
getchar();
return 0;
}
: 여기 내 코드입니다. 이 문제를 어떻게 해결할 수 있습니까?
어떻게 해결할 수 있습니까? –
@Brandon, 당신은'strcmp'와 결합 된'if' 문을 사용할 수 있습니다. 프로그램에는 다른 많은 오류가 있습니다. 예를 들어, 실제로는 입력을 읽지 않습니다. –
@Brandon :'if (strcmp (jobs, constant_1)) ... else if ... ' – Vlad