| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 550 人关注过本帖
标题:求教C 贼简单的问题
只看楼主 加入收藏
allre
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-4-20
结帖率:50%
收藏
已结贴  问题点数:2 回复次数:8 
求教C 贼简单的问题
main()
{
 int a,b,c;
 a=4,b=6;
 c=++a;
printf("%d,%d,%d,a,b,c")
}
 这里输出a我觉得应该是4,课为什么大案是5啊

 ++a只是赋值给了c啊
2010-05-11 18:00
skyhe1a
Rank: 2
等 级:论坛游民
帖 子:55
专家分:62
注 册:2010-4-10
收藏
得分:0 
main()
{
int a,b,c;
a=4,b=6;  
c=++a; /* 这句a自增了1次。   
printf("%d,%d,%d,a,b,c")
}
2010-05-11 18:16
skyhe1a
Rank: 2
等 级:论坛游民
帖 子:55
专家分:62
注 册:2010-4-10
收藏
得分:0 
注意
在C语言里的变量改变了就改变了~~c=++a; 意思是a自增一次后赋值给c a就=5啦
2010-05-11 18:19
liuw_e_i
Rank: 2
等 级:论坛游民
帖 子:26
专家分:32
注 册:2010-3-27
收藏
得分:0 
就是5呀,对于a本身值来说,程序经过a++或者++a都相当于a=a+1。但是如果你某个地方用到a了,比如说定义a=4后,printf("%d",a++);打印出来是4,而printf("%d",++a);打印出来的是5
2010-05-11 21:23
超人不会飞
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-5-11
收藏
得分:0 
因为a在执行c=++a;时自加了一次
2010-05-11 21:37
wu644877373
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:47
专家分:30
注 册:2010-5-11
收藏
得分:0 
恩,对的,++a是先自增再取值的。

2010-05-11 22:20
bc_luozhengji
Rank: 2
等 级:论坛游民
帖 子:19
专家分:10
注 册:2008-7-8
收藏
得分:0 
以下是引用skyhe1a在2010-5-11 18:16:34的发言:

main()
{
int a,b,c;
a=4,b=6;  
c=++a; /* 这句a自增了1次。   
printf("%d,%d,%d,a,b,c")
}
是di是di,

我的电影论坛[url]http://www.[url]
2010-05-11 22:23
kinwyb
Rank: 4
等 级:业余侠客
帖 子:134
专家分:244
注 册:2009-3-7
收藏
得分:0 
++a等于a=a+1,所以c=++a相当与先把a加1再赋值给c。
故,结果为a=5,b=6,c=5。
还有楼主的输出语句printf("%d,%d,%d,a,b,c")有问题。

学习c语言痛苦!!但是要坚持~~
2010-05-11 22:40
赤那
Rank: 3Rank: 3
来 自:广东
等 级:论坛游侠
威 望:1
帖 子:127
专家分:178
注 册:2010-3-1
收藏
得分:0 
这个编译系统是从右到左的;即printf("%d,%d,%d,a,b,c")先算c,然后算b,最后算a
2010-05-11 23:44
快速回复:求教C 贼简单的问题
数据加载中...
 
   



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

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