#include<stdio.h>
main()
{while(putchar(getchar())!='!');}
当输入 qwert! 时,程序执行结果为什么是 qwert!
C语言while输入字符串问题
答案:3 悬赏:0 手机版
解决时间 2021-01-03 06:33
- 提问者网友:我们很暧昧
- 2021-01-02 12:22
最佳答案
- 五星知识达人网友:躲不过心动
- 2021-01-02 13:13
为什么不是呢?
程序的流程是这样到。getchar()每次读取一个字符,然后putchar()将该字符输出,然后返回值也是显示到那个字符的值,与!字符比较,来作为while循环到条件。
这里前5个字符都使循环成立,所以getchar()继续读,读完putchar()显示出来,然后判断while循环不成立,循环结束。但是!已经显示出来了。如果你输入qwert!abc,那么abc是肯定不会显示出来的。
程序的流程是这样到。getchar()每次读取一个字符,然后putchar()将该字符输出,然后返回值也是显示到那个字符的值,与!字符比较,来作为while循环到条件。
这里前5个字符都使循环成立,所以getchar()继续读,读完putchar()显示出来,然后判断while循环不成立,循环结束。但是!已经显示出来了。如果你输入qwert!abc,那么abc是肯定不会显示出来的。
全部回答
- 1楼网友:猎心人
- 2021-01-02 15:39
先输出,然后再判断。
当输出为!时,首先输出!,然后结束。故结果输出到!为止。
- 2楼网友:怙棘
- 2021-01-02 14:18
字符串输入直接用scanf("%s",str);就可以了,你的问题在于str[]没赋值之前每项都是'\0',不能作为循环条件,当然是在输入时。再输出时可以把这个作为循环条件
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |