sssuhl 发表于 2020-2-27 10:50:04

这两句一样吗,有什么区别?

while ((ch = getchar()) != '\n')
while (ch = getchar() && getchar() != '\n')

zltzlt 发表于 2020-2-27 10:53:05

不一样,第一种只是输入换行退出,第二种输入换行和空格退出。

sssuhl 发表于 2020-2-27 12:41:45

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:}

qiuyouzhi 发表于 2020-2-27 13:14:47

sssuhl 发表于 2020-2-27 12:41
对于这个程序,第二个在运行时出现问题,第一个正常运行,两句话在程序中的作用有啥区别。谢谢了{:10_2 ...

后面的多了一个换行符,也就是要输入两次换行才行
如果有帮助请设最佳答案{:10_254:}

sssuhl 发表于 2020-2-27 13:58:20

qiuyouzhi 发表于 2020-2-27 13:14
后面的多了一个换行符,也就是要输入两次换行才行
如果有帮助请设最佳答案

第二个会输出错误的原因是啥{:10_254:} {:10_254:} {:10_254:}

qiuyouzhi 发表于 2020-2-27 14:00:21

sssuhl 发表于 2020-2-27 13:58
第二个会输出错误的原因是啥

用图床吧
http://imgchr.com
而且我这里没有报错啊

sssuhl 发表于 2020-2-27 14:10:17

qiuyouzhi 发表于 2020-2-27 14:00
用图床吧
http://imgchr.com
而且我这里没有报错啊

没有报错,但是输出的结果不对。

qiuyouzhi 发表于 2020-2-27 14:32:34

sssuhl 发表于 2020-2-27 14:10
没有报错,但是输出的结果不对。

第二种应该不是标准写法吧
我没百度到
就默认用第一种写法就行了
页: [1]
查看完整版本: 这两句一样吗,有什么区别?