帮忙解释下这段程序(C语言)
答案:4 悬赏:80 手机版
解决时间 2021-07-20 05:00
- 提问者网友:無理詩人
- 2021-07-19 20:37
main()
{char ch;
scanf("%c",&ch);
ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
printf("%c\n",ch);
}
输入一个字符,判别它是否大写,第四行我不怎么理解,大家帮帮忙啊!
最佳答案
- 五星知识达人网友:拜訪者
- 2021-07-19 21:47
这是把输入的大小字母变成小写字母。
ch=(ch>='A'&&ch<='Z')?(ch+32):ch;这是一个三元运算符,书有讲表达试那一章吧。
判断输入的字符是不是在大A与大Z之间。如是是就直接把ch赋给CH,如果不在就是把CH+32就变成了大字的字符了,在赋给CH;如同IF语句;
if(ch>='A'&&ch<='Z'){
ch=ch+32;//变成小字母
}else{
ch=ch;//这不变本来就是小字母。
}
不知道你懂了没。
全部回答
- 1楼网友:渊鱼
- 2021-07-20 00:03
ch=(ch>='A'&&ch<='Z')?(ch+32):ch; 这个是二元运算符
就是如果问号前面为真(如果输入的字符在A--Z之间)就把ch+32得到的数值赋值给ch 如果为假就把ch赋值给ch然后输出
- 2楼网友:独行浪子会拥风
- 2021-07-19 23:25
ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
//这行是一个条件选择语句,它的作用是判断ch中的字符如果是大写字母则转换成小写字母,不是则不转换.这个语句的另一个典型应用是:c=a>b?a:b,它的作用是将a和b中的较大的一个存入c中.
- 3楼网友:英雄的欲望
- 2021-07-19 22:40
C语言中,字符的大小写,相差是32,比如,A和a,相差是32
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯