C语言程序问题,谢谢大神

zh阿伟 发布于 2014/03/03 19:39
阅读 268
收藏 0

我这个程序好像有问题,帮忙看一下,谢谢

#include<stdio.h>
int main()
{
 char ch;
 scanf("%c",&ch); 
 ch=(ch>'A'||ch=='A'&&ch<'Z'||ch=='Z')?(ch+32):ch;
 printf ("%c\n",ch);
}

 

加载中
0
m
msccreater
第6行倒数第4个字符的冒号有问题,使用的是中文冒号,改为英文冒号。。。。。
0
修改登录密码
GestureWei
GestureWei
回复 @js阿超 : tolower()将字母转为小写,跟你给的那一大串代码的功能是一致的
z
zh阿伟
ch=tolower(ch)是什么意思啊
0
名字都被占光了
少了return 0, ch=((ch>'A'||ch=='A')&&(ch<'Z'||ch=='Z'))?(ch+32):ch; 
z
zh阿伟
哦,谢谢你,师傅
GestureWei
GestureWei
回复 @js阿超 : 当然可以,不过会有警告,而且重点的问题在于冒号错了,应该用英文的冒号
名字都被占光了
@js阿超 int是整数型,char是字符型,你输入的是字符,所以应该不行
z
zh阿伟
char ch换成int ch行吗,我试过,能运行,想问你一下
0
名字都被占光了
你只改个冒号运行下发现结果是错误的
z
zh阿伟
师傅,哪个冒号啊
0
没文化的学霸
没文化的学霸
其实还有一种运算符
0
没文化的学霸
没文化的学霸
为何要用||运算呢
没文化的学霸
没文化的学霸
那就在&&两侧各加上括号
z
zh阿伟
有的说<=和>=不对
0
自由自在的小鱼
自由自在的小鱼
ch=(ch>='A')&&(ch<='Z')?(ch+32):ch;
返回顶部
顶部