|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 有关宏的问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
393
人关注过本帖
标题:
有关宏的问题
只看楼主
加入收藏
plane5530
等 级:
新手上路
帖 子:76
专家分:0
注 册:2007-1-19
结帖率:
83.33%
楼主
收藏
问题点数:0 回复次数:1
有关宏的问题
下列程序段运行后的结果:
#define PR(x,y,z) printf("%d\t%d\t%d\n",x,y,z)
main()
{int x,y,z;
x=(9+6)%5>=9%5+6%5;
printf("%d,n",x);
z=x? (y=x) : (y=++x);
PR (x,y,z);
}
x的值我可以这样算:“(9+6)%5>=9%5+6%5”不成立,所以x的值为0,但PR(x,y,z)的值我不知道怎么弄了,哪位帮助并详细给解释下,谢谢了!
2007-03-13 13:10
举报帖子
使用道具
赠送鲜花
moonwalker
等 级:
新手上路
威 望:
1
帖 子:909
专家分:2
注 册:2007-3-2
第
2
楼
收藏
得分:0
PR(x,y,z)不更改你的任何值,它只是把3个变量的值按制表位输出
z=『x? (y=x) : (y=++x)』;
『』内是条件表达式,这么分 是因为“?:”的优先级大于“=”
x=0,所以执行y=++x;即y=1;同时x自增为1
z的值是表达式y=++x的值,z=1
输出x,y,z都为1
over
/bbs/down.asp?html=482910" target="_blank">“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2007-03-13 22:45
举报帖子
使用道具
赠送鲜花
2
1/1页
1
快速回复:
有关宏的问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.030763 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved