有关getchar()的问题!
这个是我在C语言书上的一个习题的答案
它要求是:输入一行电报文字,两种输出方式:一为原文输出,一为将字母变成其下一字母(如‘a’变成‘b’------'z'变成‘a’.其它字符不变)。用#define 命令来控制是否要译成密码。如#define CHANGE 1 则输出密码。
若#define CHANGE 0 则按原码输出。
我的问题是红色部分的c=getchar()是如何能够把一个带空格的语句输出的?
实际上getchar()是用来从终端输入一个字符的。例子中没有循环语句啊!
#include<stdio.h>
#define CHANGE 1
{char c;
char m[20];
int i;
#if CHANGE
while((c=getchar())!='\n')
{if('a'<=c&&c<'z')c=c+1;
else
{if(c=='z')c='a';}
putchar(c);
}
#else
while((c=getchar())!='\n')
printf("%s",c);
#endif
printf("\n");
}