我编的程序如下;
#include<stdio.h>
main()
{ char a;
printf("请输入一个字符:\n");
scanf("%c",&a);
if(a>='a'&&a<='z')
{a=a-32;
printf("%c",a);
}
else if(a>='A'&&a<='Z')
printf("%c",a);
getchar();getchar();
}
其中是a=a-32错的,但我不知道为什么错,如果输入的是小写的字母,难道它的ASCII码值减32不是等于大写字母的ASCII码值吗?
但是如果这个语句改为a=a-('a'-'A'),就是对的,为什么?'a'-'A'不就是等于32吗?
c语言,输入一个字符,判断它是否是小写字母,如果是则输出大写字母,否则原样输出
答案:5 悬赏:50
解决时间 2021-04-22 06:33
- 提问者网友:伪善人独行者
- 2021-04-22 00:31
最佳答案
- 二级知识专家网友:晚安听书人
- 2021-04-22 01:12
你用的什么?我用的visual studio 2012,正常编译,正常运行,代码没问题。可能和编译器有关系吧,我也是新手,不是很懂
全部回答
- 1楼网友:余生继续浪
- 2021-04-22 05:32
代码没错
- 2楼网友:狠傷凤凰
- 2021-04-22 03:54
表示我运行的结果是对的
- 3楼网友:没感情的陌生人
- 2021-04-22 03:28
我到底还是没有看出哪错了
拿着源码测试了全部字母
- 4楼网友:浪者不回头
- 2021-04-22 02:33
int main()
{
int c = getchar();
if(c >='a'&&c<='z') printf("%c",c-32);
else if(c >='a'&&c<='z') printf("%c",c+32);//题目中有两句如果是小写字母输出其对应大写字母,我猜有一句应该是 如果是大写字母输出其对应小写字母。 如果猜错了,就删掉这行。
else if(c >='0'&&c<='9') printf("%c",c);
else if(c == ' ') printf("space");
else printf("other");
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯