这是课本上关于#if表达式的一道例题,但是程序有错误,不知道怎么改,求助。(弄不懂睡不着啊,前辈们帮帮忙呗)
这个程序的功能是输入一段字符串,将小写转换成大写,将输入的大写字母转换成小写,其他情况暂不做处理,程序代码:
#include "stdio.h" #define N 200 #define SIG -3 void main() { char a[N]={'\0'}; char c; int i=-1; printf("请输入一个字符串:\n"); gets(a); while((c=a[++i])!='\0') { #if SIG==1 //小写转换成大写 if(c>='a'&&c<='z') { a[i]=c-32; } #else #if SIG==-1 if(c>='A'&&c<='Z') { A[i]=c+32; } #else //ToDo.......其他情况处理方式未定 #endif #endif } printf("转换后的结果为:\n"); puts(a); }
[ 本帖最后由 考伊斯 于 2011-5-31 23:54 编辑 ]