社区
C++ 语言
帖子详情
i++的一个小例子,为什么VC++与TC的运行结果不一样?
wonder168
2006-10-18 10:37:57
main()
{
int i,k;
i=1;
k=(i++)+(i++)+(i++);
printf("i=%d , k=%d\n",i,k);
i=1;
k=(++i)+(++i)+(++i);
printf("k=%d\n",i,k);
}
VC++中K=10,TC中K=12。
TC中可以解释如下:i先进行三次自加后为4,这时再算K=i+i+i,结果为12。
关键是VC++中K=10如何解释?
...全文
230
7
打赏
收藏
i++的一个小例子,为什么VC++与TC的运行结果不一样?
main() { int i,k; i=1; k=(i++)+(i++)+(i++); printf("i=%d , k=%d\n",i,k); i=1; k=(++i)+(++i)+(++i); printf("k=%d\n",i,k); } VC++中K=10,TC中K=12。 TC中可以解释如下:i先进行三次自加后为4,这时再算K=i+i+i,结果为12。 关键是VC++中K=10如何解释?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
taodm
2006-10-18
打赏
举报
回复
哎,楼主,跟你讲了,C、C++都认为这是未定义行为。C++而且就是为了兼容C还被迫继承了这个规定的。如果i是自定义类,结果就将是明确定义行为了。
wonder168
2006-10-18
打赏
举报
回复
k=(++i)+(++i)+(++i);
首先第一个++i 时,得到2,之后又发现++i,后面几个一直加到4\
这样2+4+4=10
_______________________
有点勉强吧,第一个加1不动,后两个加到4?
其实C语言中的最好理解,i的在内存中占的单元不变,先自加再进行加法运算。
逍遥的心
2006-10-18
打赏
举报
回复
k=(++i)+(++i)+(++i);
首先第一个++i 时,得到2,之后又发现++i,后面几个一直加到4\
这样2+4+4=10
wonder168
2006-10-18
打赏
举报
回复
简化的程序是:
main()
{
int i,k;
i=1;
k=(++i)+(++i)+(++i);
printf(" k=%d\n",k);
}
VC++中K=10,TC中K=12。
TC中可以解释如下:i先进行三次自加后为4,这时再算K=i+i+i,结果为12。
关键是VC++中K=10如何解释?
taodm
2006-10-18
打赏
举报
回复
这个明确载在C++标准上的,是“未定义行为”!
得到任何结果都是符合标准的、正确的。
你只能避免写出这样的代码!
lw1a2
2006-10-18
打赏
举报
回复
日日见
低调的小青蛙
2006-10-18
打赏
举报
回复
深究这个问题没有意义,应该避免写出这样的代码。
如何学V
C
++
?
如何学V
C
++
? 一、VC是什么?学VC是学什么? 首先VC是
一个
软件(IDE集成开发环境)(编译、编辑、调试) C和
C
++
。但
C
++
中的有些特性是不用的,例如I/O流,多态继承 WindowsSDK(软件开发工具) VC的灵魂:MFC(微软基础类库) ATL(ActiveX模板类库) 其他的SDK,如OpenGL,Direct
V
C
++
适合做什么
V
C
++
适合做什么 2014年06月27日 10:13:24逗逗飞阅读数 3231 下面一些领域比较适合于用vc: 操作系统编程,game,图形设计,corba编程,com 编程,网络编程。 我谈谈我的体会。我现在在深圳的一家公司从事IP电话网关的开发。通过这个项目,我 才真正体会到VC有多么强大,上百个线程同时工作,数据库并发访问,而且全部软件基 ...
V
C
++
简单介绍
一、VC是什么?学VC是学什么? 首先VC是
一个
软件(IDE集成开发环境)(编译、编辑、调试) C和
C
++
。但
C
++
中的有些特性是不用的,例如I/O流,多态继承 WindowsSDK(软件开发工具) VC的灵魂:MFC(微软基础类库) ATL(ActiveX模板类库) 其他的SDK,如OpenGL,DirectX,ActiveMoive,DrawDib(WinG) VC是许许多多技术的综合,就好象
【
c
++
】V
C
++
的技巧总结
V
C
++
是微软窗口编程的工具,与java和
C
++
和python流行语言相比。显然过气了,但能否死灰复燃,这很难预料。不过将V
C
++
的技巧留作存档还是很必要的。本文不管V
C
++
是否流行,将它的一些技巧记录下来,以备将来查阅。
V
C
++
初学者常见问题解惑
V
C
++
初学者常见问题解惑 李海 Visual
C
++
是功能非常强大的工具,但也是公认比较难于入门的。这里,我们整理了一些初学者常见的问题,希望帮助那些刚刚接触Visual
C
++
的朋友享受编程的乐趣。 问:我是一新手,请问我以前在T
C
++
中写的
C
++
程序,在VC中要建立
一个
什么样的工程来
运行
它(程序在T
C
++
是正
C++ 语言
64,646
社区成员
250,476
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章