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,此时表达式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);
}
小鲁笔记