| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 859 人关注过本帖
标题:请教下?:的表达式问题
只看楼主 加入收藏
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
收藏
 问题点数:0 回复次数:15 
请教下?:的表达式问题
max=max>num?max:num
max=max>num 的意思是max>num就执行max=max;max<num就执行max=num
那么max=max>num?max:num 又是什么意思呢?
搜索更多相关主题的帖子: 表达 
2006-05-18 09:43
桂圆
Rank: 1
等 级:新手上路
威 望:1
帖 子:101
专家分:0
注 册:2006-5-15
收藏
得分:0 
max=max>num?max:num

if (max > num)
return max;
else return num;

这样你应该明白了吧 呵呵


2006-05-18 09:47
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
收藏
得分:0 
那 max=max&gt;num?max:num   不就也可以写成 max&gt;num?max:num 了?
2006-05-18 09:49
桂圆
Rank: 1
等 级:新手上路
威 望:1
帖 子:101
专家分:0
注 册:2006-5-15
收藏
得分:0 
三目运算需要返回一个值 那个值返回来 给谁 当然是要给一个变量了
你说对吗

2006-05-18 10:00
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
收藏
得分:0 
还是不明白啊 书上的格式是 y=x>70?100:0 如果x>70,y就赋值为100;反之则为0;
现在是 max=max>num?max:num 跟我看的格式不一样啊。 再次麻烦了~
2006-05-18 10:08
桂圆
Rank: 1
等 级:新手上路
威 望:1
帖 子:101
专家分:0
注 册:2006-5-15
收藏
得分:0 
规则:
表达式1?表达式2:表达式3
x>y?printf("%d",x):pritnf("%d",y);
int x,y;
w=x>y?x:y;
printf("%d",w);
int x,y;
if(x>y)
printf("%d",x);
else
printf("%d",y);
先计算表达式1,若产生非零值,则执行表达式2,并将表达式2的值作为整个条件表达式的值,若产生
零值,则执行表达式3,并将表达式3的值作为整个条件表达式的值(若执行表达式2,不执行表达式3)
int x,y,w;
x=5;
y=4;
w=x>y?x++:y++;
printf("%d,%d,%d",w,x,y);
if(x>y)
x++;
else
y++;

2006-05-18 10:15
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
收藏
得分:0 
以下是引用桂圆在2006-5-18 10:15:00的发言:
规则:
表达式1?表达式2:表达式3
x>y?printf("%d",x):pritnf("%d",y);
int x,y;
w=x>y?x:y; w,x,y,如果只有2个值的话,是不是也可以写成w=w>x?);
printf("%d",w);
int x,y;
if(x>y)
printf("%d",x);
else
printf("%d",y);
先计算表达式1,若产生非零值,则执行表达式2,并将表达式2的值作为整个条件表达式的值,若产生
零值,则执行表达式3,并将表达式3的值作为整个条件表达式的值(若执行表达式2,不执行表达式3)
int x,y,w;
x=5;
y=4;
w=x>y?x++:y++;
printf("%d,%d,%d",w,x,y);
if(x>y)
x++;
else
y++;


w,x,y,如果只有2个值的话,是不是也可以写成w=w>x?);

2006-05-18 10:19
桂圆
Rank: 1
等 级:新手上路
威 望:1
帖 子:101
专家分:0
注 册:2006-5-15
收藏
得分:0 
两个值的话 就不叫 三目运算了 呵呵

白话 ?:
这个 就相当于 有两个数比较 如果为真 意思就是说 如果条件成立 就执行 ? 后面的语句
如果 为假 就是条件 不成立 就执行 : 后面的 语句

2006-05-18 10:24
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
收藏
得分:0 
其实我想问的就是这个:
y=x>5;100;0 x>5的话y就赋值100 否则赋值为0
x=x>5;100;0 x>5的话x就赋值100 否则赋值为0

这2个是不是一样的表达式?
2006-05-18 10:28
xsimon
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2006-5-5
收藏
得分:0 
楼上的你上机试试就知道了.加深理解...
2006-05-18 10:30
快速回复:请教下?:的表达式问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011499 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved