【发布时间】:2016-09-05 20:25:26
【问题描述】:
为什么我不能在 C 中跳出这个循环?
char command[1];
scanf("%s", command);
while(1){
scanf("%s", command);
if(command == "q")
break;
}
【问题讨论】:
-
因为它充满了未定义的行为。您没有在字符串中提供足够的空间;你不比较这样的字符串(使用
strcmp())。你需要检查scanf()的结果;不清楚连续两次调用scanf()是否是个好主意。
标签: c loops while-loop