社区
C语言
帖子详情
顺序不同为什么输出结果不同呢?
qingyazhi
2010-09-15 01:53:48
两个程序:
#include<stdio.h>
void main()
{
int a,b,c;
a=b=1;
printf("%d %d %d\n",a,(a++,b++,++b),b);
}
输出结果为2 3 1
#include<stdio.h>
void main()
{
int a,b,c;
a=b=1;
printf("%d %d %d\n",(a++,b++,++b),a,b);
}
输出结果为3 1 1
这是为什么呢?请指点,谢谢
...全文
185
18
打赏
收藏
顺序不同为什么输出结果不同呢?
两个程序: #include void main() { int a,b,c; a=b=1; printf("%d %d %d\n",a,(a++,b++,++b),b); } 输出结果为2 3 1 #include void main() { int a,b,c; a=b=1; printf("%d %d %d\n",(a++,b++,++b),a,b); } 输出结果为3 1 1 这是为什么呢?请指点,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
canshui
2010-09-15
打赏
举报
回复
[Quote=引用 15 楼 zhao4zhong1 的回复:]
引用 10 楼 canshui 的回复:
有人管这种叫“月经”贴
不知何意?
周期性地来,而且比较恶心、比较恐怖、比较烦人、比较无奈……
[/Quote]
dzc8866
2010-09-15
打赏
举报
回复
[Quote=引用 4 楼 lbh2001 的回复:]
不要考虑这样的东西了
C标准中没有定义这样的结果
完全由编译器实现决定的
[/Quote]
这种东西实际工作中是不会写的,但是对找工作的人来说,了解一下吧,毕竟很多公司会出这样的面试题
nwao7890
2010-09-15
打赏
举报
回复
[Quote=引用 15 楼 zhao4zhong1 的回复:]
引用 10 楼 canshui 的回复:
有人管这种叫“月经”贴
不知何意?
周期性地来,而且比较恶心、比较恐怖、比较烦人、比较无奈……
[/Quote] 只有引用的内容不允许回复!
赵4老师
2010-09-15
打赏
举报
回复
[Quote=引用 10 楼 canshui 的回复:]
有人管这种叫“月经”贴
不知何意?
[/Quote]
周期性地来,而且比较恶心、比较恐怖、比较烦人、比较无奈……
wlgc123321
2010-09-15
打赏
举报
回复
这个其实没必要研究的
赵4老师
2010-09-15
打赏
举报
回复
不要写连自己也预测不了结果的代码!
不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
VC调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编不就啥都明白了吗。
(Linux或Unix下应该也可以在用GDB调试时,看每句C对应的汇编。)
canshui
2010-09-15
打赏
举报
回复
[Quote=引用 11 楼 woailp___2005 的回复:]
引用 10 楼 canshui 的回复:
有人管这种叫“月经”贴
不知何意?
每隔一段时间就有人贴出来问-_-
这个没啥好追究的,看编译器
别写自己也无法预测,带有歧义的代码就是了
[/Quote]
呵呵……
原来如此……
Q446512799
2010-09-15
打赏
举报
回复
[Quote=引用 10 楼 canshui 的回复:]
有人管这种叫“月经”贴
不知何意?
[/Quote]
每隔一段时间就有人贴出来问-_-
这个没啥好追究的,看编译器
别写自己也无法预测,带有歧义的代码就是了
canshui
2010-09-15
打赏
举报
回复
有人管这种叫“月经”贴
不知何意?
bobo364
2010-09-15
打赏
举报
回复
[Quote=引用 7 楼 myjiaqin 的回复:]
为什么我运行的结果和你的不一样呢!我的第一个是2,2,3,第二个是3,2,3,我决对没改只是复制粘贴过去的啊…………
[/Quote]
这个问题要看编译器具体生成的汇编代码
Q446512799
2010-09-15
打赏
举报
回复
编译器不同-_-
myjiaqin
2010-09-15
打赏
举报
回复
为什么我运行的结果和你的不一样呢!我的第一个是2,2,3,第二个是3,2,3,我决对没改只是复制粘贴过去的啊…………
kartik
2010-09-15
打赏
举报
回复
编译器是从右往左进行编译的。哈,记住了哦
wyfwx
2010-09-15
打赏
举报
回复
感觉就跟研究"回"字的多种写法一样
lbh2001
2010-09-15
打赏
举报
回复
不要考虑这样的东西了
C标准中没有定义这样的结果
完全由编译器实现决定的
Joe_Yang
2010-09-15
打赏
举报
回复
[Quote=引用 1 楼 dinjay 的回复:]
很明显,编译器是从右往左进行编译的。
[/Quote]
正解
shi3590
2010-09-15
打赏
举报
回复
记下来好了,好多面试题愿意出这个。
dinjay
2010-09-15
打赏
举报
回复
很明显,编译器是从右往左进行编译的。
《C语言基础》 之 第4章
顺序
结构和条件结构
课程内容:
顺序
结构、条件结构、循环结构的概览、多重的if条件结构、if结构的嵌套、if条件结构的{ }问题、?表达式与 if 结构的关系、条件运算符与if条件结构、switch结构
用hashset集合存储数值为什么能
顺序
输出
用hashset集合存储数值为什么能
顺序
输出
1.首先明确一点,hashset实现了set接口,因此是无序的,这个无序是指,元素输入和
输出
的
顺序
。也就是不管添加元素的
顺序
是什么,遍历
输出
该集合时,都是按照存储的
顺序
来的,...
python集合
输出
顺序
_【Python】set() 集合操作与运算 && 元素
输出
顺序
表示一组各不相同元素的无序集合,其主要应用于重复元素消除及关系测试等 集合在Python内部通过哈希表实现,其本征无序,
输出
时所显示的
顺序
具有随机性,且与运行环境相关操作与运算主要包括基于
不同
对象的创建、...
printf函数
输出
时参数的计算
顺序
这是什么情况,怎么正好反了,下面我们就来解决这个问题:也就是printf函数参数的处理
顺序
我们先根据结果提出一个假设:第一步:a=1 第二步:
输出
a++的值,把a=1代入a++,
输出
1,a=2 第三步:
输出
a的值,
输出
2; ...
mysql查询
顺序
不同
_同样的sql,mysql 每次查询结果
顺序
不一致
这就真的很奇怪了,sql都是一样的,为什么就会有不一样的结果呢。 查询了很多资料,也没找到一个比较确认的理由,只是较多人认为是由于缓存的存在。 引用一下别人的回答: “ 根数据库系统的算法有关,早期版本的算法...
C语言
69,381
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章