|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ c语言单目运算符++输出问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1575
人关注过本帖
标题:
c语言单目运算符++输出问题
只看楼主
加入收藏
konglong37
等 级:
新手上路
帖 子:2
专家分:0
注 册:2010-1-7
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:20 回复次数:7
c语言单目运算符++输出问题
#include "stdio.h"
void main()
{
int a=5;
printf("%d,%d\n",a++,a++);
printf("%d,%d",a++,a++);
}
结果输出为
5,5
7,7
不能理解,请高手指教为什么
搜索更多相关主题的帖子:
c语言
输出
运算符
2010-03-01 10:44
举报帖子
使用道具
赠送鲜花
smltq
等 级:
侠之大者
威 望:
8
帖 子:566
专家分:400
注 册:2008-1-21
第
2
楼
收藏
得分:2
不是这样研究问题的……
简单的生活
2010-03-01 11:23
举报帖子
使用道具
赠送鲜花
lixnkei
来 自:樱之国度
等 级:
业余侠客
帖 子:133
专家分:227
注 册:2008-5-13
第
3
楼
收藏
得分:2
编译器问题,由于 a = 5
第一个 printf
的两个 a++ ,由于 ++ 在 a 后,因此输出后再自加1
所以先输出两个5,再输出两个7。
你可以试试把 ++ 写在 a 的前面
另外,a++ 这类语句最好把他单独为一个语句,这样代码的可移植性就高了。因为不同的编译器会有不通的编译效果。
[
本帖最后由 lixnkei 于 2010-3-1 12:56 编辑
]
老师说:会写代码的人多如牛毛,但写得很规范的却不多。代码要规范,养成好习惯~!
2010-03-01 12:21
举报帖子
使用道具
赠送鲜花
cnfarer
等 级:
版主
威 望:
179
帖 子:3330
专家分:21157
注 册:2010-1-19
第
4
楼
收藏
得分:2
这与编译有关,不要问为什么!
★★★★★
为人民服务
★★★★★
2010-03-01 12:43
举报帖子
使用道具
赠送鲜花
广陵绝唱
等 级:
贵宾
威 望:
29
帖 子:3607
专家分:1709
注 册:2008-2-15
第
5
楼
收藏
得分:2
回复 楼主 konglong37
这种运算在实际程序中根本用不到,而且它的结果与编译器的运算先后有关.你这个编译器对这个程序的处理就是先自加之后再输出,所以会有这种结果.
不要再纠缠在这种问题上,没有实际的意义.在一些著名的 C 评议著作中,有人曾经说过,这种代码行为的结果为"未定义"的,也就是说是不确定的,在不同的编译环境中可能会有不同的结果.
2010-03-01 12:46
举报帖子
使用道具
赠送鲜花
shenhaoqin
等 级:
新手上路
帖 子:4
专家分:2
注 册:2010-1-13
第
6
楼
收藏
得分:2
我用的TC,运行结果是:
6,5
8,7
编译系统不一样吧。
2010-03-01 15:17
举报帖子
使用道具
赠送鲜花
szweifj
等 级:
论坛游民
帖 子:30
专家分:26
注 册:2010-2-10
第
7
楼
收藏
得分:2
a++ 的含义是:先调a的值,然后a的值加1,
在这个程序中,第一个printf函数,首先调用a,输出 5,5,然后调用(a++),(a++),使a的值变为:7
第二个printf函数同理
希望能帮到你
2010-03-01 15:32
举报帖子
使用道具
赠送鲜花
liqiangzk982
等 级:
论坛游民
帖 子:50
专家分:16
注 册:2006-12-20
第
8
楼
收藏
得分:0
看下边的链接里的东东就知道结果了。
https://hi.bccn.net/space-115268-do-blog-id-15984.html
菜鸟我最大!
2010-03-01 15:37
举报帖子
使用道具
赠送鲜花
8
1/1页
1
快速回复:
c语言单目运算符++输出问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.019820 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved