#include <stdio.h>
int myfun(int a,int b,int c){
int t;
t=(a>b)?(b>c?b:(a>c?c:a)):((a>c)?a:((b>c)?c:b));
return t;
}
main(){
int a1=3,a2=5,a3=4,r;
r=myfun(a1,a2,a3);
printf("\nThe middle number is: %d\n ",r);
}
扩展资料:
三目运算符:
condition ? expression1 : expression2
expression1和expression2是两个操作数。如果condition = true,则结果为expression1,否则为expression2。
跟下面的if...else...类似:
if(表达式1){
表达式2;
}else{
表达式3;
}
三目表达式和if-else语句可以互换:
int num1=10,num2=20,num3=30;
int res = num1 ? num1+num2 : num1+num3;
printf("res=%d\n",res);//30
int num1=10,num2=20,num3=30;
int res = 0;
if(num1){
res = num1 + num2;
}else{
res = num1 + num3;
}
printf("res=%d\n",res);