OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 101270|回复: 970

【每日一题:0613签到】C语言最基础的题,看似简单,大部分高手都会搞错,赶紧来试一试。。。

  [复制链接]

294

主题

1414

帖子

12

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
7791
金钱
7791
注册时间
2015-10-15
在线时间
2858 小时
发表于 2020-6-13 18:19:33 | 显示全部楼层 |阅读模式
首先,不同的编译器结果可能不同,我们以MDK作为编译器。

  1. int a=0, b=0;
  2. printf("%d,%d,%d\n",a++,++b,a);

  3. a=0;
  4. printf("%d %d %d\n",a,a++,a);

  5. b=0;
  6. printf("%d %d %d %d %d \n",b, b++, ++b, b++, ++b);
复制代码


别小看了这道题,我敢打包票,大部分人,包括高手,都会做错。

做错了的同学请使用正点原子的开发板例程,在里面编译后软件仿真出来看看结果。。。

实际上这种写法,在项目中并不多,所以做错了的同学也不要惭愧。。。

回复后看答案。

游客,如果您要查看本帖隐藏内容请回复




我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2019-6-27
在线时间
19 小时
发表于 2020-6-13 21:18:07 | 显示全部楼层
0,1,1

0,0,1

0,0,2,2,4
回复 支持 10 反对 0

使用道具 举报

7

主题

101

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
317
金钱
317
注册时间
2017-9-16
在线时间
80 小时
发表于 2020-6-15 11:02:03 | 显示全部楼层
这个问题其实涉及到的是C的求值顺序,C并没有规定函数参数间的求值顺序,编译器可以根据目标平台的特性调整求值顺序。所以这道题目是有问题的。
回复 支持 2 反对 0

使用道具 举报

22

主题

73

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2020-3-3
在线时间
84 小时
发表于 2020-6-15 08:28:43 | 显示全部楼层
0,1,0
1,0,0
4,3,3,1,1
回复 支持 1 反对 0

使用道具 举报

8

主题

293

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1001
金钱
1001
注册时间
2018-8-16
在线时间
327 小时
发表于 2020-6-26 19:27:35 | 显示全部楼层
0,1,1
0,0,1
0,0,2,2,4
回复 支持 1 反对 0

使用道具 举报

3

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2020-5-14
在线时间
21 小时
发表于 2020-6-19 16:39:23 | 显示全部楼层
0.1.0
0.0.0
回复 支持 1 反对 0

使用道具 举报

4

主题

26

帖子

0

精华

高级会员

Rank: 4

积分
643
金钱
643
注册时间
2020-2-26
在线时间
79 小时
发表于 2020-6-13 22:50:54 | 显示全部楼层
0,1,0
0,0,0
2,2,2,2
回复 支持 0 反对 1

使用道具 举报

294

主题

1414

帖子

12

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
7791
金钱
7791
注册时间
2015-10-15
在线时间
2858 小时
 楼主| 发表于 2020-6-15 11:10:30 | 显示全部楼层
ISO14882 发表于 2020-6-15 11:02
这个问题其实涉及到的是C的求值顺序,C并没有规定函数参数间的求值顺序,编译器可以根据目标平台的特性调整 ...

对,所以我们说的前提是MDK
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 1 反对 0

使用道具 举报

0

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2018-9-23
在线时间
6 小时
发表于 2020-6-14 09:50:08 | 显示全部楼层
本帖最后由 Walkers 于 2020-6-14 09:52 编辑

第一个printf输出0,1,1;第二个printf输出0,0,1;
第三个printf输出0,0,2,2,4。
x++和++x有个先使用再自增得顺序。
回复 支持 反对

使用道具 举报

9

主题

120

帖子

0

精华

高级会员

Rank: 4

积分
700
金钱
700
注册时间
2020-5-11
在线时间
67 小时
发表于 2020-6-14 11:31:12 | 显示全部楼层
来学习了0,1,1
001
00223
回复 支持 反对

使用道具 举报

9

主题

120

帖子

0

精华

高级会员

Rank: 4

积分
700
金钱
700
注册时间
2020-5-11
在线时间
67 小时
发表于 2020-6-14 11:32:35 | 显示全部楼层
混分小公举 发表于 2020-6-14 11:31
来学习了0,1,1
001
00223

嗷,这个前后还有关联,没考虑到
回复 支持 反对

使用道具 举报

0

主题

26

帖子

0

精华

高级会员

Rank: 4

积分
578
金钱
578
注册时间
2018-4-16
在线时间
106 小时
发表于 2020-6-15 09:04:48 | 显示全部楼层
0,1,1
0,0,1
0,0,1,2,4
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2020-6-15
在线时间
16 小时
发表于 2020-6-15 10:26:23 | 显示全部楼层
0,1,1
0,0,1
0,0,2,2,4
回复 支持 反对

使用道具 举报

2

主题

39

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2205
金钱
2205
注册时间
2016-5-10
在线时间
543 小时
发表于 2020-6-15 10:58:33 | 显示全部楼层
11111111
回复 支持 反对

使用道具 举报

0

主题

87

帖子

0

精华

高级会员

Rank: 4

积分
849
金钱
849
注册时间
2018-4-20
在线时间
478 小时
发表于 2020-6-15 11:32:18 | 显示全部楼层
111111111
回复 支持 反对

使用道具 举报

1

主题

22

帖子

0

精华

高级会员

Rank: 4

积分
933
金钱
933
注册时间
2018-3-29
在线时间
139 小时
发表于 2020-6-15 11:51:14 | 显示全部楼层
1111111111111111
回复 支持 反对

使用道具 举报

1

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
349
金钱
349
注册时间
2020-5-16
在线时间
52 小时
发表于 2020-6-15 14:27:37 | 显示全部楼层
0,1,1  0,0,1 0,0,2,2,4
回复 支持 反对

使用道具 举报

4

主题

55

帖子

0

精华

高级会员

Rank: 4

积分
538
金钱
538
注册时间
2019-5-14
在线时间
231 小时
发表于 2020-6-15 14:38:53 | 显示全部楼层
看看答案
回复 支持 反对

使用道具 举报

26

主题

1533

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6365
金钱
6365
注册时间
2015-8-25
在线时间
1003 小时
发表于 2020-6-15 14:50:45 | 显示全部楼层
0 1 1
0 0 1
0 0 2 2
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2020-5-3
在线时间
20 小时
发表于 2020-6-15 15:31:25 | 显示全部楼层
0 1 1
0 0 1
0 0 2 2 4
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2020-6-11
在线时间
31 小时
发表于 2020-6-15 15:35:55 | 显示全部楼层
011,001,00224
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2020-6-11
在线时间
31 小时
发表于 2020-6-15 15:47:28 | 显示全部楼层
刚刚看了答案用现有的板子试了下,没有用屏幕,用的sprintf输出到字符串数组中去得到的答案是010,100,43311,芯片是STM32F107VET6。不过这个点还是GET到了。
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2020-6-15
在线时间
2 小时
发表于 2020-6-15 15:50:44 | 显示全部楼层
0,1,1
0,0,1
0,0,2,2,3
回复 支持 反对

使用道具 举报

1

主题

49

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1340
金钱
1340
注册时间
2019-12-27
在线时间
266 小时
发表于 2020-6-15 16:42:46 | 显示全部楼层
学习学习学习
回复 支持 反对

使用道具 举报

20

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
237
金钱
237
注册时间
2012-2-11
在线时间
24 小时
发表于 2020-6-15 20:13:08 | 显示全部楼层
好东西
回复 支持 反对

使用道具 举报

1

主题

41

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2019-3-21
在线时间
103 小时
发表于 2020-6-15 20:58:09 | 显示全部楼层
010
000
00112
回复 支持 反对

使用道具 举报

3

主题

16

帖子

0

精华

高级会员

Rank: 4

积分
704
金钱
704
注册时间
2019-7-26
在线时间
93 小时
发表于 2020-6-16 07:04:19 | 显示全部楼层
答案
回复 支持 反对

使用道具 举报

33

主题

982

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
7862
金钱
7862
注册时间
2014-8-13
在线时间
1584 小时
发表于 2020-6-16 08:49:06 | 显示全部楼层
0,1,0   1,0,0   4,3,3,1,1? 话说这么写会被锤的。考试可能会出现这样的题,项目里不敢这么写。
回复 支持 反对

使用道具 举报

0

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
340
金钱
340
注册时间
2018-4-24
在线时间
61 小时
发表于 2020-6-16 09:09:55 | 显示全部楼层
011,001,00223
回复 支持 反对

使用道具 举报

18

主题

89

帖子

0

精华

高级会员

Rank: 4

积分
798
金钱
798
注册时间
2016-5-12
在线时间
172 小时
发表于 2020-6-16 09:49:47 | 显示全部楼层
0 1 1
0 0 1
0 0  2 2 4
回复 支持 反对

使用道具 举报

9

主题

218

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1364
金钱
1364
注册时间
2020-5-12
在线时间
381 小时
发表于 2020-6-16 11:27:29 | 显示全部楼层
0,1,1

0,0,1

0,0,2,2,4
回复 支持 反对

使用道具 举报

0

主题

15

帖子

0

精华

高级会员

Rank: 4

积分
923
金钱
923
注册时间
2019-7-6
在线时间
218 小时
发表于 2020-6-16 13:14:50 | 显示全部楼层
查看答案
回复 支持 反对

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
115
金钱
115
注册时间
2019-11-14
在线时间
18 小时
发表于 2020-6-16 13:22:26 | 显示全部楼层
011
001
00224
回复 支持 反对

使用道具 举报

0

主题

22

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2020-5-23
在线时间
64 小时
发表于 2020-6-16 13:38:10 | 显示全部楼层
0 1 1
0 0 1
0 0 2 2 4
回复 支持 反对

使用道具 举报

5

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
432
金钱
432
注册时间
2020-5-8
在线时间
66 小时
发表于 2020-6-16 19:55:27 | 显示全部楼层
新看看
回复 支持 反对

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2020-6-17 08:32:15 | 显示全部楼层

0,1,1

0,0,1

0,0,2,2,4
猪猪熊呢?
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-12-2
在线时间
3 小时
发表于 2020-6-18 14:14:13 | 显示全部楼层
0,1,1
0,0,1
0,0,2,2,4
回复 支持 反对

使用道具 举报

1

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2018-11-13
在线时间
25 小时
发表于 2020-6-18 20:00:30 | 显示全部楼层
see see
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2019-10-20
在线时间
5 小时
发表于 2020-6-18 21:53:38 | 显示全部楼层
看看快快快
回复 支持 反对

使用道具 举报

1

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
324
金钱
324
注册时间
2019-7-25
在线时间
127 小时
发表于 2020-6-19 00:47:51 来自手机 | 显示全部楼层
0 0  0
010
00112
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2020-6-18
在线时间
14 小时
发表于 2020-6-19 09:39:30 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
114
金钱
114
注册时间
2020-4-3
在线时间
29 小时
发表于 2020-6-19 11:02:13 | 显示全部楼层
0 1 1
0 0 1
0 0 2 2 4
回复 支持 反对

使用道具 举报

5

主题

94

帖子

0

精华

高级会员

Rank: 4

积分
934
金钱
934
注册时间
2017-4-8
在线时间
111 小时
发表于 2020-6-19 14:32:08 | 显示全部楼层
0 1 1
0 0 1
0 0 2 2 3
回复 支持 反对

使用道具 举报

5

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2018-8-11
在线时间
13 小时
发表于 2020-6-19 16:33:45 | 显示全部楼层
0,1,1
0,0,1
0,0,2,2,4
回复 支持 反对

使用道具 举报

0

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
220
金钱
220
注册时间
2019-8-15
在线时间
64 小时
发表于 2020-6-19 19:54:06 | 显示全部楼层
0,1,0
0,0,0
0,0,1,1,2
回复 支持 反对

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6661
金钱
6661
注册时间
2016-5-29
在线时间
909 小时
发表于 2020-6-20 09:46:53 | 显示全部楼层
不推荐 很努力的去学习这个 ++  在前面的语法,  只用++在后面的. C语言也有几个地方比较 多余. 在出现 *a++,或者 if(a++),在不是很理解的情况下,单独在下一条指令++就可以了.++指令单独一行. 就没有这个优先顺序的问题了.
以上纯属个人意见.
回复 支持 反对

使用道具 举报

10

主题

161

帖子

0

精华

高级会员

Rank: 4

积分
750
金钱
750
注册时间
2019-9-5
在线时间
134 小时
发表于 2020-6-24 09:09:30 | 显示全部楼层
011   001    00223
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2020-6-24
在线时间
2 小时
发表于 2020-6-24 10:03:31 | 显示全部楼层
0,1,1  0,0,1  0,0,2,2,4
回复 支持 反对

使用道具 举报

0

主题

37

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1117
金钱
1117
注册时间
2018-5-24
在线时间
117 小时
发表于 2020-6-26 09:16:33 | 显示全部楼层
1,0,1;0,1,1;0,1,1,2,2
回复 支持 反对

使用道具 举报

0

主题

27

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
204
金钱
204
注册时间
2020-4-14
在线时间
67 小时
发表于 2020-6-26 17:11:44 | 显示全部楼层
1 1 0
0 1 0
1 1 2 2
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 06:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表