所以,我对C很新,我试图在一个空字符串上终止我的程序(当用户按下enter时没有任何东西)但是由于某种原因它给了我一个无限循环。
这是我的代码:
while(input[0] != '\0') {
if(slot < 27 && slot >= 0) {
struct LinkedList curr = files[slot];
if(strcmpci(input, curr.val) == 0) {
printf("%s, \n", curr.val);
}
while(curr.next != NULL) {
curr = (*(curr.next));
if(strcmpci(input, curr.val) == 0) {
printf("%s\n", curr.val);
}
}
}
}
我到过的每个地方都告诉我用这种格式结束我的循环
while(____ != '\0') {
}
所以我很困惑。
答案 0 :(得分:1)
当用户按Enter键时,他们没有输入NULL字符,他们正在输入换行符。尝试检查\n