if(a>b){ max = a; }else{ max = b; }不过,C语言提供了一种更加简单的方法,叫做条件运算符,语法格式为:
表达式1 ? 表达式2 : 表达式3
条件运算符是C语言中唯一的一个三目运算符,其求值规则为:如果表达式1的值为真,则以表达式2 的值作为整个条件表达式的值,否则以表达式3的值作为整个条件表达式的值。条件表达式通常用于赋值语句之中。max = (a>b) ? a : b;该语句的语义是:如a>b为真,则把a赋予max,否则把b 赋予max。
max=(a>b) ? a : b;可以去掉括号而写为
max=a>b ? a : b;
a>b ? a : c>d ? c : d;应理解为:
a>b ? a : ( c>d ? c : d );这也就是条件表达式嵌套的情形,即其中的表达式又是一个条件表达式。
#include <stdio.h> int main(){ int a, b; printf("Input two numbers:"); scanf("%d %d", &a, &b); printf("max=%d\n", a>b?a:b); return 0; }运行结果:
本文链接:http://task.lmcjl.com/news/8081.html