搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 新手求助各位大大
标题:
新手求助各位大大
只看楼主
想学的菜鸟
等 级:
新手上路
帖 子:18
专家分:4
注 册:2018-10-14
第
11
楼
得分:0
回复 9楼 是个业余的
答案确实是 11 10
2018-10-15 19:44
小昆
等 级:
论坛游民
帖 子:22
专家分:13
注 册:2018-10-6
第
12
楼
得分:0
不会的时候就先看书,看格式,先看着书打代码,在背几个代码,然后模仿,再自己整理逻辑自己敲
2018-10-18 22:59
吕孟伟
等 级:
贵宾
威 望:
27
帖 子:200
专家分:870
注 册:2018-10-4
第
13
楼
得分:0
回复 8楼 想学的菜鸟
同学你好!我认为(x++,y)这个式子中逗号是顺序输出,输出的结果是y的值,而在y++中输出y的值是11,因此结果是11 10。
借用一下侯捷的话:勿在浮沙筑高台。
2018-10-19 16:52
w1480569941
来 自:河南省周口市项城市
等 级:
论坛游民
威 望:
1
帖 子:21
专家分:27
注 册:2018-10-15
第
14
楼
得分:0
回复 7楼 想学的菜鸟
我是自学
2018-10-19 16:54
zbjzbj
来 自:郑州
等 级:
贵宾
威 望:
52
帖 子:620
专家分:3020
注 册:2011-4-22
第
15
楼
得分:0
试试这个
#include <stdio.h>
int main()
{
printf("%d %d",(1,2),3);
}
2018-10-19 23:28
zbjzbj
来 自:郑州
等 级:
贵宾
威 望:
52
帖 子:620
专家分:3020
注 册:2011-4-22
第
16
楼
得分:0
再试试这个:
#include <stdio.h>
int main()
{
int x=10;
printf("%d %d",x,x++);
}
[此贴子已经被作者于2018-10-19 23:54编辑过]
2018-10-19 23:39
zbjzbj
来 自:郑州
等 级:
贵宾
威 望:
52
帖 子:620
专家分:3020
注 册:2011-4-22
第
17
楼
得分:0
还有这个
#include <stdio.h>
int main()
{
int x=10;
printf("%d %d %d %d",x,x++,x++,x++);
}
2018-10-19 23:53
zbjzbj
来 自:郑州
等 级:
贵宾
威 望:
52
帖 子:620
专家分:3020
注 册:2011-4-22
第
18
楼
得分:0
总结:编译器在编译的时候,首先进行了整行扫描,发现本行含有运算,首先确定了最后一个%d的数值,然后才确定了倒数第二个%d的数值,依此类推。
2018-10-19 23:58
w1480569941
来 自:河南省周口市项城市
等 级:
论坛游民
威 望:
1
帖 子:21
专家分:27
注 册:2018-10-15
第
19
楼
得分:0
回复 17楼 zbjzbj
结果 是 10 10 10 10啊
2018-10-20 01:13
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
20
楼
得分:0
对于printf("%d %d",x,x++);的问题,可以用不同的编译器编译再看看编译后代码。
不同编译器可能有不同的结果,运算顺序可能从左到右或从右到左,结果不确定,属未定义行为,实际应用时代码不要用这类写法。
2018-10-20 08:45
20
2/2页
1
2
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-490369-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.730692 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved