#include<stdio.h>
void main ()
{
char a;
do{
scanf("%c",&a);
}
while (a='b');
printf("%c",a);
为什么只能循环一次?而且输出的是空白?
打错了
你理解错误了,你上面代码中的while(a='b')是个死循环,永远不会跳出循环(原因很简单,=是赋值,永远成立的),所以你不会运行到printf那里去,如果你本来的意图是想输入b的时候出循环并打印,应该写做while (a!='b')
如果你写的是while(a=='b'),那实际上输入b的时候会执行两次循环,第一次读入的是'b',第二次读入的是你的换行符(如果要确认你可以在上面的scanf后面加一行,比如
do{看看输出的内容是什么就知道了,要解决的话方法很多,比如可以是
do{你想实现什么,先把a='b'换成a=='b'
=是赋值,==是判断
#include<stdio.h>打错了,就是a=='b',还是只能一次循环