51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2409|回复: 1
打印 上一主题 下一主题

[求助] 输出 从右到左运算?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-8-24 17:12:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
int arr[]={6,7,8,9,10};
int *p=arr;
*(p++)+=123;
printf("%d,%d\n",*p,*(++p));

第三行是什么意思?对程序产生什么影响?
最后输出,有解释说从右向左运算,为什么?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-8-25 15:17:31 | 只看该作者

解释

C中printf 计算参数时 是从右到左压栈的,所以输出时,先是*(++p),即指向arr[3]中的 8,所以*p也是8,
第三行 也可以写作 *p+=123;P++;
终于又弄明白一个
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-6-19 13:50 , Processed in 0.071645 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表