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