#include <stdio
c4droid吧
全部回复
仅看楼主
level 7
#include <stdio.h>
#define SPACE ' '
int main(void)
{ char ch;
ch=getchar ();
while(ch!='\n')
{if(ch==SPACE)
putchar(ch);
else
putchar(ch+1);
ch=getchar();}
putchar (ch);
return 0;}
萌新想问 第二个ch=getchar()是什么作用?
感觉应该是再次输入字符的意思
可是运行的时候只能输入一次
去掉这个后
输出了无限的字符.....
2017年09月25日 09点09分 1
level 7
输出一次就结束了
2017年09月25日 09点09分 2
level 7
求大佬
2017年09月25日 09点09分 3
level 1
楼主请看。在输入第一个字符后
2017年09月25日 09点09分 4
level 1
第一个getchar读取的字符被赋值给ch,若第一个输入的为空格则照常输出,其他按ansii码加一输出,最终通过第二个while循环内的getchar给ch赋下一个字符的值
2017年09月25日 10点09分 6
level 1
由于输入数据完毕时以回车结尾,该while循环把ch被赋值到回车为停止条件。若删去第二个getchar,则无法按顺序一个一个读取输入的字符,自然就会无限输出
2017年09月25日 10点09分 7
level 1
getchar()的功能是读取单个字符
2017年09月25日 10点09分 9
十分感谢大佬!又学到了东西, 谢谢啦!
2017年09月25日 10点09分
level 8
你输入的字符会先放在缓存区里吧,然后第一个getchar()一个一个读取,但是在你按下enter之后在确定的同时缓存区里会留下\n第二个getchar就是为了把缓存区里的\n赋值给ch达成结束条件,如果没有的话自然就无限循环了
2017年09月25日 10点09分 10
level 1
为什一样的程序我的就是现实错误空字符常量[泪]
2017年10月13日 10点10分 11
1