int menu () {
char choice [5];
int i;
int c;
printf("Welcome to your own personal tamaguchi!");
printf("\n 1.Name your tamaguchi.\n");
printf("\n 2.Check health and age.\n");
printf("\n 3.Feed tamaguchi.\n");
printf("\n 4. Exercise with tamaguchi.\n");
printf("Let tamaguchi sleep.n");
printf("\n 5. Close program.\n");
printf("Choose action: ");
scanf("%s", choice);
printf("\n");
for (i=0; choice[i]! = '\0'; i++){
if(!isdigit(choice[i]))
return -1;
}
c = atoi(choice);
return c;
}
他们说问题出在!
所在的地方choice[i]!='\0'
。
我已经包含了stdio,string,time和stdlib。 我不知道自己做错了什么,如果你能看到错误请告诉我?
感谢。
答案 0 :(得分:3)
您需要更改
for (i=0; choice[i]! = '\0'; i++){
到
for (i=0; choice[i] != '\0'; i++){
^
| //notice here
此处的运算符不等于 !=
。这是一个单一的操作员。
如果你写的是! =
[中间有空格],那就会成为两个独立的运算符,Logical NOT和赋值,从而产生错误。