我在这里的问题是,我真的不知道字符比较在这个特定的代码是如何工作的:字符比较,并打破
while (1) {
scanf("%c", &c);
if (c == 'c')
printf("working\n");
else {
printf("Not working\n");
break;
}
printf("not-not-working\n");
}
我感兴趣的是,为什么这个程序的输出是:
- 如果我输入“C”,输出是:工作,不工作,不诚勿工作的
- 如果我别的输入任何内容:不工作,不 - 不工作。
我的问题是,我可以比较这样的字符,还是我必须使用strcmp()
? 此外break
是如何工作的?
PS:我搜索了其他的答案和教程,但有点卡住了我自己的问题。
由于'not-not-working'超出了'if'的范围,因此它总是显示出来。在第一个“if”之后放一个'break'。 PS:'return 0'也可以。 – Tico
为了更好地了解代码中发生了什么,您可能需要打印'c'以及'scanf'的返回值。 – danfuzz
是的,可以说它已经初始化了。 – Michael