c - 谁能说出 C 中这两个代码片段之间的区别?
问题描述
我是 C 编程新手,我正在使用 getchar() 练习 while 循环。但是我对这两个while循环代码感到困惑。这是第一个代码:
char c;
c=getchar();
while(c != 'X')
c=getchar();
printf("Thanks for finally inputting an X.\n");
我不明白这个功能会printf
直到用户输入 X。
这是第二个代码:
char c;
while((c=getchar()) != 'X');
printf("Thanks for finally inputting an X");
which 和最后一个函数做了同样的事情,但我不太明白while((c=getchar()) != 'X');
这对我来说意味着当用户输入除 X 之外的其他字符时,它将为 true 并打印句子。
解决方案
仔细查看while
第二个片段中的:
char c;
// here ----------------v
while((c=getchar()) != 'X');
printf("Thanks for finally inputting an X");
;
之后有一个while
。这意味着循环的主体是空的。所以循环将继续运行该条件,直到它为假,即何时c
等于'X'
。
推荐阅读
- android - DialogFragment not appearing
- php - How can I wrap my input field with a tag when using with Symfony formbuilder?
- windows - 使用 nsis 脚本启动自定义服务时出错
- python - how to filter out sqlite output
- css - How does `border-style: double` split the pixels?
- javascript - How to stop getting back to "blank" in the form after alert?
- java - 确定函数的运行时间:
- dialogflow-es - Update text responses in dialogflow using api
- routes - How to handle news categories in route enhancers (TYPO3 v9)
- python - 与外部脚本通信