c='q';
while(c=='q')
{
printf("hello");
scanf("%c",&c);
}
Run Code Online (Sandbox Code Playgroud)
为什么循环在没有任何理由的情况下退出输入?
循环没有理由退出.该scanf调用将从中读取一个字符stdin并将其存储c,从而改变其值c.当测试循环条件时,可能c不再== 'q'(例如,您键入"q"以外的其他内容).
如果你试图循环,直到用户没有输入"q":
do {
printf("hello");
scanf("%c", &c);
}
while (c != 'q');
Run Code Online (Sandbox Code Playgroud)
但请注意,在大多数控制台系统上,scanf只有在用户键入完整的文本行并按下回车键后才会返回.如果您希望按键进行操作,则可能需要查看其他功能.
| 归档时间: |
|
| 查看次数: |
235 次 |
| 最近记录: |