永发信息网

帮忙解释下这段程序(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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯