我是一名超級初學者程序員。基本上我有這樣的代碼: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'編譯) –