| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 975 人关注过本帖
标题:[求助]关于?:的算法
只看楼主 加入收藏
chinarodney
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-5-3
收藏
得分:0 
对了,有一点不明白,我只知道PRINTF是从右往左算的,还有什么语句是从右往左算的,谢,
我学了一段时间的C,但有些东西还是不太只知道
2007-06-09 11:47
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 
而算术运算就是从=号开始从左往右算了
能就用?:举个例子吗?

偶是菜鸟鸟偶惧WHO?!!!!
2007-06-09 12:25
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
printf("%d",n=(y=4?y:(y/=2)));
执行的过程是:
y = 4;
if( y != 0)
n = y;
else
{
y /= 2;
n = y;
}
printf("%d", n);

人生重要的不是所站的位置,而是所朝的方向
2007-06-09 13:27
飞影王子
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-3-30
收藏
得分:0 

13楼结果写的不错,可是这样写不太好,我认为还是这样写不错的
#include "stdio.h"

main()
{
int n;
int y=4;

if (y=4)
n=y;
else
y=y/2;


printf("结果是%d\n", y);
getch();



}
我个人认为如果IF学的好,就可以不学这橙皮

2007-06-10 14:22
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
以下是引用我是菜鸟哦在2007-6-9 10:41:23的发言:

#include <stdio.h>
main()
{
int n;
int y=4;

printf("%d",n=(y==4?y:(y/=2)));//是条件语句,用 == 而不是 =
}
这个?:不是从右向左吗?怎么还是输出4.help!!!!!!



Fight  to win  or  die...
2007-06-10 15:15
大卫2008
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-5-5
收藏
得分:0 
?: 在嵌套的形式下其执行顺序是从右往左,在上面的程序里printf只是单一输出的n值,不存在从右往左的顺序,而对于?:的程序执行顺序,13楼给的herbert描述的已经很清楚了

诗写的好~而且力气大~~
2007-06-10 23:53
marshhj
Rank: 1
等 级:新手上路
帖 子:40
专家分:3
注 册:2007-4-27
收藏
得分:0 

其实就是条件语句的简单写法,条件语句当然要先检测条件。

2007-06-11 08:03
快速回复:[求助]关于?:的算法
数据加载中...
 
   



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

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