野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 396625|回复: 1012

【每日一题讲解】逗号表达式的用法

  [复制链接]
发表于 2013-11-25 00:18:45 | 显示全部楼层 |阅读模式

这个是一个初学者经常犯得错误题目里修改而来的。
  1. int a [3][2]={(0,1),(2,3),(4,5)};
  2. int *p;
  3. p=a [0];
  4. printf("%d",p[0]);
  5. 注意,这题目很容易错的哦

  6. A.0
  7. B.1
  8. C.2
  9. D.编译出错
复制代码
请回答问题后再看答案哦,否则 每日一题 就没有意义了。
答错的,讲一下 为什么 会答错 呗!
答案回复可见!!


这是一个逗号表达式,逗号表达式的值=最后一个值,因此数组真正的值为:
  1. int a [3][2]={(1,3,5};
复制代码
而 a[0] 的地址 值就是 a[0][0]地址 值

因此结果为 1 。

很多同学误以为是 0,注意,这里是 括号 () ,而不是 花括号 {}
很多初学者都把 花括号写成 括号,导致 计算结果与想象的不一样
回复

使用道具 举报

发表于 2013-11-25 07:41:39 | 显示全部楼层
额,这个我选的0,错误……看来还是知识学得不到位呀;
回复 支持 反对

使用道具 举报

发表于 2013-11-25 08:43:28 | 显示全部楼层
答错了,想知道答案
回复 支持 反对

使用道具 举报

发表于 2013-11-25 08:45:06 | 显示全部楼层
基础都没学好,,每日一题很不错,赞一个
回复 支持 反对

使用道具 举报

发表于 2013-11-25 08:50:49 | 显示全部楼层
JudeScorpio 发表于 2013-11-25 07:41
额,这个我选的0,错误……看来还是知识学得不到位呀;

那么容易答对,我就不在问题上提醒很容易错啦
回复 支持 反对

使用道具 举报

发表于 2013-11-25 09:17:06 | 显示全部楼层
真棒!!非常感谢
回复 支持 反对

使用道具 举报

发表于 2013-11-25 09:21:41 | 显示全部楼层
终于有一个答对了
回复 支持 反对

使用道具 举报

发表于 2013-11-25 09:27:53 | 显示全部楼层
真棒!!非常感谢
回复 支持 反对

使用道具 举报

发表于 2013-11-25 09:33:37 | 显示全部楼层
越错越勇     真棒!!非常感谢
回复 支持 反对

使用道具 举报

发表于 2013-11-25 09:35:04 | 显示全部楼层
走过路过,不能错过
回复 支持 反对

使用道具 举报

发表于 2013-11-25 09:35:08 | 显示全部楼层
遗忘了啊               
回复 支持 反对

使用道具 举报

发表于 2013-11-25 10:00:02 | 显示全部楼层
越错越勇  来火哥的论坛果然很能补知识啊
回复 支持 反对

使用道具 举报

发表于 2013-11-25 10:26:17 | 显示全部楼层
看看,错了。。。。。。。。。
回复 支持 反对

使用道具 举报

发表于 2013-11-25 10:27:14 | 显示全部楼层
活到老 学到老 走过路过,不能错过
回复 支持 反对

使用道具 举报

发表于 2013-11-25 10:29:08 | 显示全部楼层
没看清楚  是圆括号  哎!!!
回复 支持 反对

使用道具 举报

发表于 2013-11-25 10:37:41 | 显示全部楼层
居然不是编译出错
回复 支持 反对

使用道具 举报

发表于 2013-11-25 10:38:08 | 显示全部楼层
走过路过,不能错过被劈到了,非一般的雷人
回复 支持 反对

使用道具 举报

发表于 2013-11-25 11:40:21 | 显示全部楼层
fire 发表于 2013-11-25 08:50
那么容易答对,我就不在问题上提醒很容易错啦

好吧,火哥,下次再也不会这么容易被你骗了-_-|||
回复 支持 反对

使用道具 举报

发表于 2013-11-25 12:19:22 | 显示全部楼层
飞鸿印雪 发表于 2013-11-25 10:29
没看清楚  是圆括号  哎!!!

很多初学者把 花括号 写成 圆括号,导致出错。
这错误,得注意~~
回复 支持 反对

使用道具 举报

发表于 2013-11-25 12:21:55 | 显示全部楼层
♂荻夜 发表于 2013-11-25 10:00
越错越勇  来火哥的论坛果然很能补知识啊

我们论坛主打初学,就是给初学者补充知识,多给我们论坛宣传哦!
卖开发那么久,就觉得很多初学者的C语言知识往往仅仅掌握 if...else... ,我们售后压力很大啊
回复 支持 反对

使用道具 举报

发表于 2013-11-25 12:23:16 | 显示全部楼层
JudeScorpio 发表于 2013-11-25 11:40
好吧,火哥,下次再也不会这么容易被你骗了-_-|||

这个不是骗啊,真实出现的项目bug,写这代码的人,怎么也找不出bug原因。
回复 支持 反对

使用道具 举报

发表于 2013-11-25 13:32:15 | 显示全部楼层
真棒!!非常感谢
回复 支持 反对

使用道具 举报

发表于 2013-11-25 16:03:47 | 显示全部楼层
好搞笑哦
回复 支持 反对

使用道具 举报

发表于 2013-11-25 16:13:45 | 显示全部楼层
fire 发表于 2013-11-25 12:23
这个不是骗啊,真实出现的项目bug,写这代码的人,怎么也找不出bug原因。

哈哈,开玩笑的 ;)不过还是要万分感谢了,鲜花,掌声!come on!
回复 支持 反对

使用道具 举报

发表于 2013-11-25 17:11:44 | 显示全部楼层
不明白为什么括号里面的怎么是逗号运算符、、、
回复 支持 反对

使用道具 举报

发表于 2013-11-25 17:13:45 | 显示全部楼层
呃呃呃!!!好吧~首先有点错乱,现在明白了~
回复 支持 反对

使用道具 举报

发表于 2013-11-25 17:27:25 | 显示全部楼层
又做错了 来看看分析了。
回复 支持 反对

使用道具 举报

发表于 2013-11-25 18:19:00 | 显示全部楼层
fire 发表于 2013-11-25 12:21
我们论坛主打初学,就是给初学者补充知识,多给我们论坛宣传哦!
卖开发那么久,就觉得很多初学者的C语言 ...

正在不遗余力的宣传哦。我们实验室的每个小弟我都让他们注册号了,天天来论坛补充学习知识
回复 支持 反对

使用道具 举报

发表于 2013-11-25 19:31:49 | 显示全部楼层
来看看分析了
回复 支持 反对

使用道具 举报

发表于 2013-11-25 19:33:57 | 显示全部楼层
肯定是2!!
回复 支持 反对

使用道具 举报

发表于 2013-11-25 21:45:55 | 显示全部楼层
答案肯定不是0,是1
回复 支持 反对

使用道具 举报

发表于 2013-11-25 21:46:13 | 显示全部楼层
答案肯定不是0,是1
回复 支持 反对

使用道具 举报

发表于 2013-11-25 21:46:38 | 显示全部楼层
是1。。。。。。。。。。。
回复 支持 反对

使用道具 举报

发表于 2013-11-25 21:58:10 | 显示全部楼层
抢沙发~我来顶楼主的
回复 支持 反对

使用道具 举报

发表于 2013-11-25 22:02:37 | 显示全部楼层
真的没注意到啊
回复 支持 反对

使用道具 举报

发表于 2013-11-25 22:25:04 | 显示全部楼层
5555555555总错
回复 支持 反对

使用道具 举报

发表于 2013-11-26 00:58:39 | 显示全部楼层
wkhuahuo 发表于 2013-11-25 17:11
不明白为什么括号里面的怎么是逗号运算符、、、

在题目里需要加入括号隔离其他逗号而已

如果是单纯的赋值,不需要括号,例如 a = 0,1;

逗号表达式是 c语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14。(a=3*5,a*4)的值是60。
回复 支持 反对

使用道具 举报

发表于 2013-11-26 13:44:51 | 显示全部楼层
走过路过,不能错过
回复 支持 反对

使用道具 举报

发表于 2013-11-26 14:19:31 | 显示全部楼层
7318 发表于 2013-11-26 13:44
走过路过,不能错过

说说自己认为的答案哦
回复 支持 反对

使用道具 举报

发表于 2013-11-26 20:52:03 | 显示全部楼层
b应该是对的
回复 支持 反对

使用道具 举报

发表于 2013-11-26 22:49:14 | 显示全部楼层
。。。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-27 11:28:10 | 显示全部楼层
H.M.S 发表于 2013-11-26 22:49
。。。。。。

禁止纯字符符号 灌水哦!回复里有快捷回复方式!!!
回复 支持 反对

使用道具 举报

发表于 2013-11-28 08:25:20 | 显示全部楼层
比妹子还漂亮,赞一个
回复 支持 反对

使用道具 举报

发表于 2013-11-28 08:30:40 | 显示全部楼层
来看看答案
回复 支持 反对

使用道具 举报

发表于 2013-11-28 13:06:36 | 显示全部楼层
不应该是0吗。。。
回复 支持 反对

使用道具 举报

发表于 2013-11-29 08:47:13 | 显示全部楼层
抢沙发~我来顶楼主的
回复 支持 反对

使用道具 举报

发表于 2013-11-29 16:04:49 | 显示全部楼层
fire 发表于 2013-11-26 14:19
说说自己认为的答案哦

我认为的是0,C语言还是学的不到位
回复 支持 反对

使用道具 举报

发表于 2013-12-1 13:04:55 | 显示全部楼层
这个对了`~
回复 支持 反对

使用道具 举报

发表于 2013-12-1 17:32:33 | 显示全部楼层
真棒!!非常感谢
回复 支持 反对

使用道具 举报

发表于 2013-12-13 13:37:49 | 显示全部楼层
我觉得我会错的.
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-18 13:37 , Processed in 0.052496 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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