x=b>c?b:c;
m=a>x?a:x;
这个2个表示什么`。。
我用的if(a>b)c=a
else c=b;
有什么不同啊
[[it] 本帖最后由 wangskyyi 于 2008-4-11 01:18 编辑 [/it]]
----------------解决方案--------------------------------------------------------
一定是你输入时搞错了
----------------解决方案--------------------------------------------------------
// 都是基础的东西,一定要多看看书
#include <stdio.h>
#define __max(a,b) (a>b)?(a):(b)
[bo]int [/bo]main([bo]void[/bo])
{
[bo]int [/bo]a=0,b=0;
scanf("%d %d",&a,&b);
printf("%d",__max(a,b));
[bo]return [/bo]0;
}
[[it] 本帖最后由 随心 于 2008-4-11 02:59 编辑 [/it]]
----------------解决方案--------------------------------------------------------
顶
帮顶一下 ----------------解决方案--------------------------------------------------------
回复 13# 的帖子
强,谢谢。 ----------------解决方案--------------------------------------------------------
回复 11# 的帖子
x=b>c?b:c;m=a>x?a:x;
b>c吗?如果为真,x负值为b,否则x负值为c;
继续运行,a>x吗?如果为真,m负值为a,否则m负值为x;
即先比较b c大小,用x记下b c中较大的值,再进行a与x的大小比较,也就是a与bc中较大值比较,m记下xa中较大值,那么m 就是abc三个数的最大的值。
**>***?**:***运算是一种条件运算,等价于if语句(自认为)
但肯定可以用if语句表达出来
if(a>b)c=a
else c=b;意思是如果a>b,c负值为a ,否则c为b。这是ab之间大小比较。
if (a>b)
x=a;
else x=b;
if (c>x)
m=c;
else m=x;这应该与我的命令等价。
----------------解决方案--------------------------------------------------------
回复 7# 的帖子
当然得加else了 ----------------解决方案--------------------------------------------------------
谢谢 16楼的。。懂了
----------------解决方案--------------------------------------------------------