| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 634 人关注过本帖
标题:谁能解答一下阿 ,谢谢!!!
只看楼主 加入收藏
lfokbest
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-3-21
结帖率:62.5%
收藏
已结贴  问题点数:10 回复次数:7 
谁能解答一下阿 ,谢谢!!!
#include<stdio.h>

main()
{
    int h=10 ;
    printf("%5d%5d",--h,--h);
    getch();
}

答案:8    9

请解释   谢谢!!
搜索更多相关主题的帖子: 解答 
2010-03-21 17:35
宇翔
Rank: 1
等 级:新手上路
帖 子:1
专家分:1
注 册:2010-3-21
收藏
得分:1 
printf函数默认从后向前执行,所以先执行--h=9,然后再执行--h=8.
然后getch()停止运行。
2010-03-21 17:52
一口三个汉堡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:155
专家分:525
注 册:2010-3-21
收藏
得分:1 
不同的编译系统对++的执行顺序是不一样的,有的是从左到右,有的是从右到左。所以还是在printf中少用++.

坚持做对的事情,而不是容易的事情。
2010-03-21 18:35
d7d7
Rank: 4
等 级:业余侠客
帖 子:91
专家分:210
注 册:2008-9-29
收藏
得分:1 
建议不要这样写,写出来,通用性好些。
2010-03-21 18:43
csj_65
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:63
专家分:163
注 册:2010-3-12
收藏
得分:1 
学习
2010-03-21 18:44
地狱无明火
Rank: 2
等 级:论坛游民
帖 子:62
专家分:71
注 册:2009-6-11
收藏
得分:1 
我计算机答案是 8  8
2010-03-22 06:43
MIQIKing
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:36
专家分:106
注 册:2010-3-21
收藏
得分:1 
printf("%5d%5d",--h,--h);
首先h=10,然后--h意思是将h=10执行减一操作此时h=9,同理h=8最后输出的是    8    9,是因为%5d,表示占了5个字符的位置在c语言中输出是在最后的位置。如果这样输出就好了printf("%5d,%5d",--h,--h);这样会清楚的输出    8,    9。比较容易理解。但是不建议在输出语句中使用自减运算符

2010-03-22 06:55
etcr2000
Rank: 2
等 级:论坛游民
帖 子:22
专家分:18
注 册:2010-3-30
收藏
得分:0 
是啊,因为i--与--i有时分不出来的
2010-04-02 16:32
快速回复:谁能解答一下阿 ,谢谢!!!
数据加载中...
 
   



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

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