我是一名超级初学者程序员。基本上我有这样的代码:do {}虽然不会终止
int main()
{
char name[30];
printf("Name of the animal exchange: \n");
scanf(" %s", &name);
char animalname[14];
int quantity = 0;
int quantitysum;
int type = 1;
do {
printf("A(z) %d. fajta neve: \n", type);
scanf(" %s", &animalname);
while(strlen(animalname)<15) {
printf("Quantity: \n");
scanf(" %d", &quantity);
quantitysum += quantity;
break;
}
if(strlen(animalname)<15) {
type++;
}
} while (animalname != "");
}
我以为循环应该停止与一个输入按下,如同时陈述。有什么问题?
你不能用'!='比较字符串。 – Zeta
'animalname!=“”'不计算你的想法(它比较内存地址而不是内容)。如果你想比较字符串,使用'!strcmp(animalname,“”)''。 –
你应该在你的编译器中启用所有的警告和调试信息(例如用'gcc -Wall -Wextra -g'编译) –