有关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");
}

											
	    