| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 263 人关注过本帖
标题:高手指导啊 本人新手
只看楼主 加入收藏
zhangqiupin
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-3-5
结帖率:71.43%
收藏
已结贴  问题点数:10 回复次数:2 
高手指导啊 本人新手
为什么{ int x=-1;
if(x++<0)
printf("%d\n",--x);
printf("%d\n",x++);
}结果是 -1 -1
{ int x=0;
if(x++<0)
printf("%d\n",--x);
printf("%d\n",x++);
}结果单是0啊
2012-03-05 22:14
sunlang1234
Rank: 2
等 级:论坛游民
帖 子:47
专家分:77
注 册:2012-2-24
收藏
得分:5 
比如x=-1这个,x++实现执行判断,再自加,x=-1<0,而后x自增为0,执行下面语句,--x,先减在打印,0-1=-1,所以x此时为-1,先减在打印,后一句同样,先打印再自增,x=-1,打印后加,x最终为0.
2012-03-05 22:22
qq0800
Rank: 2
等 级:论坛游民
帖 子:6
专家分:14
注 册:2012-2-16
收藏
得分:5 
if(x++<0)  /*此时的x为-1*/
printf("%d\n",--x);/*执行完判断后,x为0,输出时执行了-1,所以还是-1*/
printf("%d\n",x++);/*x还是为-1,+1为执行完这句后执行*/

你可以在再加一句
printf("%d\n",x);
作为验证。
2012-03-05 22:25
快速回复:高手指导啊 本人新手
数据加载中...
 
   



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

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