if语句
if ( a>b)
max = a;
else
max = b;
可以把上面的if语句改写为
max = (a>b) ? a:b;
赋值号右侧的的“ (a>b) ? a : b ”是一个“条件表达式”。“ ?”是条件运算符。
条件表达式的一般形式为
表达式1 ?表达式2 :表达式3
可以这样形象地理解:先计算出表达式1的值,表达式1后面的问号表示“该往哪里走啊?”,有两条路,如果表达式1的值为真(非0),自然跳过表达式2, 如为假(0值),就绕过表达式2,到表达式3,条件3的值就是整个条件表达式的值。
例题
输入一个字符,判别它是否大写字母,如果是,将它转换为小写字母;如果不是,不转换,然后输出得到的字符
#includevoid main() { char ch; printf("please input a character: "); scanf("%c", &ch); ch = (ch >= 'A'&& ch <= 'Z')?(ch+32):ch;//判断是否为大写字母 printf("%cn",ch); }
小鲁笔记



