C语言为什么if(c>='a'&&c<='z')这里已经成立了执行减32变小写的为什么最后变大写的呢

#include<stdio.h>#defineLETTER1voidmain(){charstr[20]="CLanguage",c;inti;i=0;while((c... #include<stdio.h>
#define LETTER 1
void main()
{
char str[20]="C Language",c;
int i;
i=0;
while((c=str[i])!='\0')
{
i++;
#if LETTER

c=c-32;
#else
if(c>='A'&&c<='Z')
c=c+32;
#endif
printf("%c",c);
}
printf("\n");
}
展开
 我来答
芝士芯片
2014-07-29 · TA获得超过190个赞
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:168万
展开全部
#if LETTER
   if(c>='a'&&c<='z')
      c=c-32;
#else
      if(c>='A'&&c<='Z')
         c=c+32;
#endif
      printf("%c",c);

这里有编译宏,如果LETTER是1,小写的转大写,不是1,大写转小写。

爽快且轻巧的小猫9
2014-07-29 · TA获得超过228个赞
知道答主
回答量:11
采纳率:0%
帮助的人:3.8万
展开全部
小写a的ASCII是97,减去32后变大写A,ASCII为65
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式