社区
C语言
帖子详情
一个奇怪的问题~~~~
enic
2008-05-27 06:30:56
环境XP SP2 ;VC6.0 SP6
#include <stdio.h>
int main(void)
{
int i = 0;
printf("%d %d %d %d %d",i , i++, i, ++i, i);
return 0;
}
运行结果:
1 1 1 1 0
我的问题是i++没有执行吗?预期结果应该是2 2 1 1 0
在线等
...全文
109
17
打赏
收藏
一个奇怪的问题~~~~
环境XP SP2 ;VC6.0 SP6 #include int main(void) { int i = 0; printf("%d %d %d %d %d",i , i++, i, ++i, i); return 0; } 运行结果: 1 1 1 1 0 我的问题是i++没有执行吗?预期结果应该是2 2 1 1 0 在线等
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
enic
2008-05-28
打赏
举报
回复
经过C/C++茶馆 帮助,得出结论
杜绝使用这样的语句
N个编译器,N个不同结果!!!!
enic
2008-05-28
打赏
举报
回复
为什么要等printf 完了才执行呢?
前面说过了,不是应为语句的原因。难道是函数吗?
貌似其他函数里边也结果是不同的。
蘑菇摸骨
2008-05-27
打赏
举报
回复
我知道了~!!
printf函数的参数是从右到左的
而
i++ 是要等到printf函数执行完 才会执行的~ 所以嘿嘿
答案当然就是
1 1 1 1 0
嘿嘿 这个问题居然被我想到了~
嗯结贴也没关系
就是想告诉你一声
顺便和大家分享
蘑菇摸骨
2008-05-27
打赏
举报
回复
嗯 真的 很神奇! LZ怎么会想到这样写?
enic
2008-05-27
打赏
举报
回复
恩就这样吧
独孤过儿
2008-05-27
打赏
举报
回复
靠,无聊不啊?
标准中明确建议,不要这样写代码,可还是...
enic
2008-05-27
打赏
举报
回复
8楼说的有问题,如果说++是以语句为标志执行那么
int i =0;
printf("%d",i\n),i++,printf("%d\n",i);
应该是
0
0
但是测试结果
0
1
enic
2008-05-27
打赏
举报
回复
那为什么这里不是2呢?
参数从右至左,就相当于语句吧?
先i++然后i
i为什么不是2
enic
2008-05-27
打赏
举报
回复
我自己找到原因了```
是printf 函数的
"pintf 函数要截取打印值时,她可能先计算最后一个参数的值,从而再计算其他参数之前的``"__c primer plus
也就是说,printf 的不确定性吧?
以后尽量减少在不是自己定义的函数中使用自加,自减。
zjw6861982
2008-05-27
打赏
举报
回复
本来就是这个结果
printf("%d %d %d %d %d",i , i++, i, ++i, i);
参数从右至左
i++在执行完本语句之后加1;
如果你在后面加一句
printf("%d ",i );
输出2
enic
2008-05-27
打赏
举报
回复
在我机器上运行结果是1 1 1 1 0
crocke
2008-05-27
打赏
举报
回复
怪哉!
zhulinjia
2008-05-27
打赏
举报
回复
结果本来就是2 2 1 1 0
jintianfree
2008-05-27
打赏
举报
回复
up
不懂帮顶
enic
2008-05-27
打赏
举报
回复
它就是1
enic
2008-05-27
打赏
举报
回复
郁闷
andy_cai
2008-05-27
打赏
举报
回复
printf执行后i肯定是2
记事本文档
1、(BufferedReader)读文字的速度非常慢~~~~~10M左右的东西要30秒到1分钟,如何提高文字读取的速度——一部分一部分的读也行 2、JMenu有个方法getPopupMenu(),但是我试了,没用? 3.1、JList加入JMenuBar菜单,...
笑傲江湖XP商业版程序
11、修正了赌馆的
一个
小漏洞,稍微对跑马进行修改,解决了富翁排行不统计存款的
问题
.12、更正了练功的bug,美化了界面。13、增加了聊天室头像(320个),优化聊天室内核速度更快,更改成多聊天室版本,对聊天室的内部...
cms-cloud后台管理系统
不建议使用cnpm(可能会出现
奇怪
的
问题
) 部署系统 因为本项目是前后端分离的,所以需要前后端都部署好,才能进行访问 后端部署 bin/package.bat 在项目的目录下执行 然后会在项目下生成 target文件夹包含 war 或jar...
连号区间数 小明这些天一直在思考这样
一个
奇怪
而有趣的
问题
:
小明这些天一直在思考这样
一个
奇怪
而有趣的
问题
: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到
一个
长度...
ruby的
奇怪
问题
~~~终于解决了.!
当启动服务器的时候会提示
一个
ArgumentError的错误......具体错误信息如下.. D:/blog>ruby script rver => Booting WEBrick... d:/ruby b/ruby/1.8/yaml.rb:133:in `load: syntax error on line 29, col 2: ` h ost...
C语言
69,336
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章