| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 703 人关注过本帖
标题:运行了一下,但是不知道为什么结果为3
只看楼主 加入收藏
魅惑极光
Rank: 1
等 级:新手上路
帖 子:15
专家分:1
注 册:2011-4-11
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:12 
运行了一下,但是不知道为什么结果为3
设有如下定义: int x=10,y=3,z;
则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是(     )。结果为什么为3啊!跪求详细解释
2011-08-23 06:14
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:2 
以下是引用魅惑极光在2011-8-23 06:14:30的发言:

设有如下定义: int x=10,y=3,z;
则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是(     )。结果为什么为3啊!跪求详细解释

当然啦 因为z=(x%y,x/y)括号中是逗号表达式z就等于10/3等于3(取整),前面x,y的值没变
2011-08-23 06:47
魅惑极光
Rank: 1
等 级:新手上路
帖 子:15
专家分:1
注 册:2011-4-11
收藏
得分:0 
那么还有x%y呢?
2011-08-23 08:20
魅惑极光
Rank: 1
等 级:新手上路
帖 子:15
专家分:1
注 册:2011-4-11
收藏
得分:0 
回复 2楼 烟雾中的迷茫
还有x%y呢?
2011-08-23 08:21
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:2 
回复 楼主 魅惑极光
楼主去看下,逗号表达式的内容

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-08-23 08:21
ai8343512
Rank: 2
等 级:论坛游民
帖 子:75
专家分:94
注 册:2011-8-7
收藏
得分:3 
x%y计算机进行了计算,但没有赋值给任何一个变量,自然对整个逗号表达式没有影响。
逗号表达式只把最后一个表达式的值作为整个逗号表达式的值,现在最后一个表达式的值是10 / 3 = 3了,所以整个表达式就是3了。

思考不应该由他人来指导,会思考的人不需要你来提醒他去思考一个简单的问题。
2011-08-23 08:34
lin471306489
Rank: 4
等 级:业余侠客
帖 子:136
专家分:247
注 册:2011-8-16
收藏
得分:3 
逗号表达式:...,...,....,等等多个表达式,它是自左向右执行的,把计算出来的值赋给下个表达式。
自然,上边的没有任何重新个变量赋值,故只做了10/3的取整运算,结果就为3。
2011-08-23 09:30
魅惑极光
Rank: 1
等 级:新手上路
帖 子:15
专家分:1
注 册:2011-4-11
收藏
得分:0 
多谢多谢,才学c语言,不要见怪,呵呵
2011-08-23 11:09
风生钧起
Rank: 4
来 自:江西
等 级:业余侠客
帖 子:383
专家分:246
注 册:2011-7-26
收藏
得分:0 
回复 7楼 lin471306489
?


每天坚持拿系统分

墨一世红颜倾醉己    霁天谁与话风流

修仙``````````````````````````````````````````````
2011-08-23 11:15
zusjun
Rank: 1
等 级:新手上路
帖 子:8
专家分:5
注 册:2011-8-14
收藏
得分:0 
这是逗号表达式,去看下,很容易的
2011-08-24 21:08
快速回复:运行了一下,但是不知道为什么结果为3
数据加载中...
 
   



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

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