#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);
}
在这个程序中putchar(ch+1)为什么没有立即输出?
你好,为什么第一次输入之后没有改变 只有敲完回车每个值加1才出现?
就是连续输入多个字符之后 按回车 每个字符都对应的加1
为什么可以输入多个字符,而不是输入一个字符就会加1
我粘贴一段说明给你看看吧,比我说的详细多了:
本回答被提问者采纳函数的返回值为用户输入的第一个字符的ASCII码,若出错返回-1,且将用户输入的字符回显到屏幕。如果用户在按回车键之前输入了不只一个字符,其他字符会保留在键盘缓冲区中,等待后续getchar()调用读取。也就是说,后续的getchat()调用不会等待用户按键,而是直接读取缓冲区中的字符,直到缓冲区的字符读取完毕后,才等待用户按键。