更新时间2019-07-09 20:19:51
输入一个字母,如果是大写则输出小写,如果是小写就输出小写,
我觉得没问题阿?
当然有问题,且有两个基础的问题
1。?:运算符的优先级明显低于<< ,所以会先输出前面的条件表达式的值,也就是0或1
2。?:的结果是整形的,所以输出会是数值而非字符
正确的
cout << (char)((ch>='A' && ch<='Z')?(ch+32):ch) ;
其实这道题最好用暴力解法,把A到Z全部if一遍,不要用ACCSI码。或者您把这个字符存进字符串里,然后用大小写转化函数完成。