#include<stdio.h>
void main()
{
int x,y,z;
printf("\n请输入三个数:");
scanf("%d%d%d",&x,&y,&z);
printf("最大值为:%d\n",x>(y>z?y:z)?x:(y>z?y:z));
}
这是一个输入三个数字显示最大数的代码,
它倒数第二排有三个问号,我不知道是什么意思!
第1个回答 2007-01-05
a=(y>z?y:z);和
if(y>z)a=y; else a=z;
是等价的,写起来简单,节省
x>(y>z?y:z)?x:(y>z?y:z));
y>z?y:z代表y和x中最大的数,化简,*代替(y>z?y:z)
x>*?x:*代表x和*中最大的数
if(y>z)a=y; else a=z;
是等价的,写起来简单,节省
x>(y>z?y:z)?x:(y>z?y:z));
y>z?y:z代表y和x中最大的数,化简,*代替(y>z?y:z)
x>*?x:*代表x和*中最大的数
第2个回答 2006-12-25
y>z?y:z的意思是:先判断y>z是否成立。成立的话采用y,不成立采用z .
在这里,?没有独立的意义。本回答被提问者采纳
在这里,?没有独立的意义。本回答被提问者采纳
第3个回答 2006-12-25
三目运算符
首先判断的真假,若是真就执行Y,反之执行Z
y>z?y:z
这代码的意思是如果Y大于Z则输出Y,否则输出Z
首先判断的真假,若是真就执行Y,反之执行Z
y>z?y:z
这代码的意思是如果Y大于Z则输出Y,否则输出Z
第4个回答 2006-12-25
x?y:z这个是三目运算符,首先判断x的真假,若是真就执行y,反之执行z!
第5个回答 2006-12-25
三目条件运算符 ?:
看看书吧
看看书吧