贝贝M 发表于 2013-4-1 17:27:04

if(!b)

if这个表达式怎么判断呢
a=1;b=2;x=0;
if(!( -- a))x -- ;
if(!b)x=7;else ++x;

是非零,是非零执行X--;
为零直接跳过,执行判断第二个IF吗

贝贝M 发表于 2013-4-1 17:44:21

应该是先执行括号里边的,后执行非吧

贝贝M 发表于 2013-4-1 17:44:48

应该是先执行括号里边的,后执行非吧

aleyn 发表于 2013-4-1 17:57:15

它只是告诉你,不要装B,好好学基础!

zhanghuhhhhh 发表于 2013-4-1 18:43:37

x最后值还为零。

monkerman 发表于 2013-4-1 18:48:12

这么写纯属拿锤子敲蛋. 自己重写个吧. 搜"副作用""序列点"

媛伢她爹 发表于 2013-4-1 19:23:12

lunhuiliudao 发表于 2013-4-1 19:25:55

楼主,好好学基础吧,不要在这里发些无聊的帖子!!!!!

贝贝M 发表于 2013-4-7 16:18:05

lunhuiliudao 发表于 2013-4-1 19:25 static/image/common/back.gif
楼主,好好学基础吧,不要在这里发些无聊的帖子!!!!!

什么帖子不无聊?你懂就是有聊吗

贝贝M 发表于 2013-4-7 16:18:38

lunhuiliudao 发表于 2013-4-1 19:25 static/image/common/back.gif
楼主,好好学基础吧,不要在这里发些无聊的帖子!!!!!

谢谢你,是得好好学基础

wajlh 发表于 2013-4-7 16:34:01

最怕这种直接把if写成表达式的了,多加几个括号能降低多少效率,再说现在的单片机性能都很强,不差这点效率,而且这样写容易出现逻辑错误,编译器也不会报错,只会给自己调试的时候找麻烦。还是程序的易读性更重要。

censtar 发表于 2013-4-7 16:34:25

应该是刚入行的学生。鼓励下@@

117433525 发表于 2013-4-7 17:06:10

告诉你,如果你看到这种代码你就骂一骂闪人。
如果是你自己写的你完全没必要去纠结这些东西浪费你时间,加一点括号把优先级分开,或多加一两句把它写的易懂一点,将来方便你自己阅读也方便别人。
如果是书上的或考试用的那我就无语了,实话告诉你不同的编译器还可能编出不同的结果来。

lunhuiliudao 发表于 2013-4-7 22:29:36

贝贝M 发表于 2013-4-7 16:18 static/image/common/back.gif
谢谢你,是得好好学基础

自己好好看书吧!!!最基础的东西还是自己要会搞!!!

贝贝M 发表于 2013-4-11 12:23:26

117433525 发表于 2013-4-7 17:06 static/image/common/back.gif
告诉你,如果你看到这种代码你就骂一骂闪人。
如果是你自己写的你完全没必要去纠结这些东西浪费你时间,加 ...

考试用的呵呵,一开始是我小心眼了

贝贝M 发表于 2013-4-11 12:24:33

wajlh 发表于 2013-4-7 16:34 static/image/common/back.gif
最怕这种直接把if写成表达式的了,多加几个括号能降低多少效率,再说现在的单片机性能都很强,不差这点效率 ...

考试用的,平时谁这么写啊

wajlh 发表于 2013-4-11 12:37:24

贝贝M 发表于 2013-4-11 12:24 static/image/common/back.gif
考试用的,平时谁这么写啊

你可以去骂老师了

xiaojun2019 发表于 2013-4-11 12:51:39

弄懂它有必要,自己就不要这么写了

贝贝M 发表于 2013-4-11 17:17:23

xiaojun2019 发表于 2013-4-11 12:51 static/image/common/back.gif
弄懂它有必要,自己就不要这么写了

谢谢大家关心

贝贝M 发表于 2013-4-11 17:17:52

wajlh 发表于 2013-4-11 12:37 static/image/common/back.gif
你可以去骂老师了

{:titter:}

flotox 发表于 2013-4-11 17:47:45

SB才这么写代码,当初期末考C语言的时候看着满卷的这种SB写法就骂
页: [1]
查看完整版本: if(!b)