搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求助——谢谢!
标题:
求助——谢谢!
只看楼主
yangshuping7
等 级:
新手上路
帖 子:2
专家分:0
注 册:2008-10-31
楼主
问题点数:0 回复次数:7
求助——谢谢!
#include"stdio.h"
main()
{
int a=0,b=1,c;
c=(a++)&&(b++);
printf("a=%db=%dc=%d\n",a,b,c);
}
输出结果为什么是:a=1,b=1,c=0.
搜索更多相关主题的帖子:
include
2008-10-31 10:43
iamah
等 级:
新手上路
威 望:
1
帖 子:69
专家分:0
注 册:2008-10-31
第
2
楼
得分:0
c=(a++)&&(b++)
先做运算再加,所以C=0&&1,即C=0
a=1,
至于b为什么等于1我也不清楚
2008-10-31 11:39
dsr_dbh
等 级:
新手上路
帖 子:26
专家分:0
注 册:2008-10-29
第
3
楼
得分:0
如题。。。
c=(a++)&&(b++);
这段代码,先求a++,再求b++的表达式的值,当&&前面的表达式的值为0,就不会进行后面表达式的求值运算,所以,b++表达式并没有求值,也没有对其进行运算。。也就是此时的b并没有进行自加运算。。。
2008-10-31 11:48
enjay007
来 自:西安
等 级:
新手上路
帖 子:12
专家分:0
注 册:2008-10-21
第
4
楼
得分:0
楼上正解···
注意 i++ 运算是先使用再自加
[[it] 本帖最后由 enjay007 于 2008-10-31 12:00 编辑 [/it]]
2008-10-31 11:59
wanjiang
等 级:
新手上路
帖 子:85
专家分:0
注 册:2008-10-25
第
5
楼
得分:0
这个问题是这样的,是因为&&的问题,c=(a++)&&(b++),i++是先使用在自加,所以这里a的值就是0;因为&&的函数看到前面的值是0,就可以不去计算后面的公式,直接把c赋值成0,然后a再自加,变成了a=1;c=0;但因为后面的公式没有执行,所以b还是等于1。
2008-10-31 16:42
8
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-241641-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.019327 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved