| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 538 人关注过本帖
标题:[求助]b的赋值
只看楼主 加入收藏
xingjing314
Rank: 2
等 级:论坛游民
帖 子:160
专家分:32
注 册:2007-1-23
结帖率:94.74%
收藏
 问题点数:0 回复次数:8 
[求助]b的赋值
#include<stdio.h>
void main ()
{ int a,b,c;
scanf("%d%d%d",&a,&b,&c);
a=b!=c;
printf("a=%d,b=%d,c=%d\n",a,b,c);
a==(b=c++*3);
printf("a=%d,b=%d,c=%d\n",a,b,c);
}
程序运行:
2 3 4
为什么第二次b的值是12那?
当c被赋值 4再做自加运算变成5,再乘3的
话是15啊,请高手赐教。
搜索更多相关主题的帖子: 赋值 
2007-01-29 11:02
飞天虎
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-12-28
收藏
得分:0 
这里你用的是后缀(++在c的后面),作用是先用了c的值,然后c才自增,所以b的值是4*3=12
2007-01-29 11:13
wanglff
Rank: 2
等 级:新手上路
威 望:5
帖 子:375
专家分:0
注 册:2005-12-21
收藏
得分:0 
以下是引用xingjing314在2007-1-29 11:02:09的发言:
#include<stdio.h>
void main ()
{ int a,b,c;
scanf("%d%d%d",&a,&b,&c);
a=b!=c;//如果输入2 ,3, 4的话
printf("a=%d,b=%d,c=%d\n",a,b,c);//那么这里就输出:1,3,4.第一步做b!=c,因为b不等于c,所以为真,既a=1;
a==(b=c++*3)//这里输出:1.12.5:第一步:c*3即b=12;然后c++;即c=5;还有你这个
a==(没有什么作用啊!)
printf("a=%d,b=%d,c=%d\n",a,b,c);
}
程序运行:
2 3 4
为什么第二次b的值是12那?
当c被赋值 4再做自加运算变成5,再乘3的
话是15啊,请高手赐教。


自强不息:)
2007-01-29 11:25
xingjing314
Rank: 2
等 级:论坛游民
帖 子:160
专家分:32
注 册:2007-1-23
收藏
得分:0 
c的值不是由b赋的吗?

2007-01-29 11:43
xingjing314
Rank: 2
等 级:论坛游民
帖 子:160
专家分:32
注 册:2007-1-23
收藏
得分:0 

谢过了


2007-01-29 12:03
baiqie
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-1-19
收藏
得分:0 

++比*号的优先级要高,所以用自加,C变成5再*3,所以b=15........................

2007-01-29 13:08
wanglff
Rank: 2
等 级:新手上路
威 望:5
帖 子:375
专家分:0
注 册:2005-12-21
收藏
得分:0 
以下是引用baiqie在2007-1-29 13:08:34的发言:

++比*号的优先级要高,所以用自加,C变成5再*3,所以b=15........................

b=c++*3
是先算c*3
然后c=c+1
即c=5还没有明白吗[em01


自强不息:)
2007-01-29 13:51
wanglff
Rank: 2
等 级:新手上路
威 望:5
帖 子:375
专家分:0
注 册:2005-12-21
收藏
得分:0 
O_{

自强不息:)
2007-01-29 13:53
xingjing314
Rank: 2
等 级:论坛游民
帖 子:160
专家分:32
注 册:2007-1-23
收藏
得分:0 

2007-01-29 15:12
快速回复:[求助]b的赋值
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016237 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved