例9.7输入一行字母字符,根据需要设置条件编译,使之能将字母全改为大写输出,或全改为小写字母输出。
#define LETTER 1
main()
{char str[20]="CLanGuaGe",C;
int i;
i=0
while((C=str[i])!='\0')
{i++;
 #if LETTER
if(C>='a' && C<='Z')
C=C-32;
#else
if(C>='A' && C<='Z')
C=C+32;
#endif
printf("%C",C);

 }
运行结果为:
CLANGUAGE
现在先定义LETTER为1,这样在对条件编译命令进行预处理时,由于LETTER为真(非零),则对第一个if语句进行编译,运行时使小写字母变大写。如果将程序第一行改为#defineLETTER0则在预处理时,对第二个if语句进行编译处理,使大写字母变成小写字母(大写字母与相应的小写字母的ASCII代码差32)。此时运行情况为ClanGuaGe