C语言求助!!!!!关于getchar()的问题!!

weixin_45906870 2020-01-16 04:29:47
#include <stdio.h>
#define SPACE ' '

int main()
{
char ch;
ch = getchar();
while (ch != '\n')
{
if (ch == SPACE)
{
putchar(ch);
}
else
{
putchar(ch + 1);
}
ch = getchar(); //这里不懂!为什么会自动获取下一个字符,不是应该获取原字符吗?ch又没有+1
}
putchar(ch);

return 0;
}
...全文
110 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_1457346882 2020-01-16
  • 打赏
  • 举报
回复
getchar()这个函数就是获取一个字符,只要你用了就会去获取,ch = getchar(); 就会把这个字符赋值给ch变量,跟ch有没有加一没有关系,其次你这个是字符不是数组,ch加一也只是去找下一个字符输出出去,也不会改变ch的值,你输出ch+1的时候ch是不变的,只是放到输出的结果的对应值会加一输出
weixin_45906870 2020-01-16
  • 打赏
  • 举报
回复
引用 1 楼 寻开心 的回复:
ch = getchar(); //这里不懂!为什么会自动获取下一个字符,不是应该获取原字符吗?ch又没有+1
自动获取下一个字符,应该表述为,获得下一个键盘输入的字符
不是ASCII字母表顺序的下一个字符

while循环里面, 不断的获取键盘输入字符判断是什么内容并做不同的处理,直到遇到回车字符为止
但是ch没有+1啊!为什么就获取了键盘输入的下一个字符?
寻开心 2020-01-16
  • 打赏
  • 举报
回复
ch = getchar(); //这里不懂!为什么会自动获取下一个字符,不是应该获取原字符吗?ch又没有+1
自动获取下一个字符,应该表述为,获得下一个键盘输入的字符
不是ASCII字母表顺序的下一个字符

while循环里面, 不断的获取键盘输入字符判断是什么内容并做不同的处理,直到遇到回车字符为止

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧