c语言 逻辑运算符(&&)的运算问题

例题:1.inta=0,b=1,c=0;if(a&&++b)c++;printf("%d,%d\n",b,c);运行结果:0,0.例题;2.inta=0,b=1,c=0;... 例题:1.
int a=0,b=1,c=0;
if(a&&++b)c++;
printf("%d,%d\n",b,c);
运行结果:0,0.
例题;2.
int a=0,b=1,c=0;
if(a&&b++)c++;
printf("%d,%d\n",b,c);
运行结果:1,0.

我不理解的地方:&&运算符,X&&Y,当X,Y两个都为非0时结果才会为真。
既然这样,回到例题中,a的值既然为0了,0&&(任何值)结果都为0,
那就是说只要系统 一取到a的值为0时,就能得出结果为0了,
后面的++b或b++应该没有必要再去运算,可是为何例题2中,还会去运算b++呢?
两个例题的运行结果都是编入机器后得出来的。
展开
 我来答
pardream941026
2013-06-22 · TA获得超过8216个赞
知道大有可为答主
回答量:4602
采纳率:89%
帮助的人:1273万
展开全部
是你搞错了吧,两个程序运行结果应该都是1,0

b++ 并没有执行
更多追问追答
追问
机器上运行结果就是有运行b++呀。习题的答案也是说明有运行b++
追答
那应该不对。我测试结果是都为 1, 0
成灵慧4d
2013-06-22 · TA获得超过189个赞
知道小有建树答主
回答量:356
采纳率:0%
帮助的人:191万
展开全部
你理解对了
都不走自加
所以例题1错了
应该都是1,0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
穷图末录
2013-06-22 · TA获得超过457个赞
知道小有建树答主
回答量:337
采纳率:100%
帮助的人:150万
展开全部
你的理解没问题啊,第二题的b本来就是1
倒是第一题,输出感觉也应该是1,0才对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一帖0
2013-06-22
知道答主
回答量:32
采纳率:0%
帮助的人:11.2万
展开全部
没运算啊亲
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式