当前位置: 代码迷 >> C语言 >> 帮帮初学者,看我哪错了
  详细解决方案

帮帮初学者,看我哪错了

热度:143   发布时间:2008-04-11 00:11:16.0
借LZ的位置问下。 。我也是新手
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楼的。。懂了
----------------解决方案--------------------------------------------------------
  相关解决方案