这两句一样吗,有什么区别?
while ((ch = getchar()) != '\n')while (ch = getchar() && getchar() != '\n') 不一样,第一种只是输入换行退出,第二种输入换行和空格退出。 zltzlt 发表于 2020-2-27 10:53
不一样,第一种只是输入换行退出,第二种输入换行和空格退出。
#include <stdio.h>
int main()
{
int ch, j, a = 0, e = 0, i = 0, o = 0, u = 0;
while ((ch = getchar()) != '\n')
//while (ch = getchar() && getchar() != '\n')
{
if(ch == 'a' || ch == 'A')
{
a = a + 1;
}
if(ch== 'e' || ch== 'E')
{
e++;
}
if(ch== 'i' || ch== 'I')
{
i++;
}
if(ch== 'o' || ch== 'O')
{
o++;
}
if(ch== 'u' || ch== 'U')
{
u++;
}
}
j = a+e+i+o+u;
//printf("%d", a);
printf("%d\n",j);
printf("%d,%d,%d,%d,%d",a, e, i, o, u);
}
对于这个程序,第二个在运行时出现问题,第一个正常运行,两句话在程序中的作用有啥区别。谢谢了{:10_254:}{:10_254:}{:10_254:} sssuhl 发表于 2020-2-27 12:41
对于这个程序,第二个在运行时出现问题,第一个正常运行,两句话在程序中的作用有啥区别。谢谢了{:10_2 ...
后面的多了一个换行符,也就是要输入两次换行才行
如果有帮助请设最佳答案{:10_254:} qiuyouzhi 发表于 2020-2-27 13:14
后面的多了一个换行符,也就是要输入两次换行才行
如果有帮助请设最佳答案
第二个会输出错误的原因是啥{:10_254:} {:10_254:} {:10_254:} sssuhl 发表于 2020-2-27 13:58
第二个会输出错误的原因是啥
用图床吧
http://imgchr.com
而且我这里没有报错啊 qiuyouzhi 发表于 2020-2-27 14:00
用图床吧
http://imgchr.com
而且我这里没有报错啊
没有报错,但是输出的结果不对。 sssuhl 发表于 2020-2-27 14:10
没有报错,但是输出的结果不对。
第二种应该不是标准写法吧
我没百度到
就默认用第一种写法就行了
页:
[1]