| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1456 人关注过本帖
标题:【请教】关于域宽问题?
只看楼主 加入收藏
lanconlan
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-9-26
收藏
 问题点数:0 回复次数:5 
【请教】关于域宽问题?
scanf("%2d%*2d%3d",&n1,&n2);
当输入123456789,将12赋给n1,舍弃掉34,将567赋给n2.

但是当我定义一个
int a=1234;
printf("%2d\n",a);
时,输出的结果却是1234,我想知道它这里的到底是为什么呢?
为什么不是输出12,为朋友说是域宽的问题,具体是怎么样的,希望有高手可以解答一下。
搜索更多相关主题的帖子: 定义 int scanf 输出 
2008-03-21 21:57
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
%2d输出的时候...不足两位补0...超过两位按实际输出...楼主翻翻书咯

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2008-03-21 22:53
form521
Rank: 1
来 自:西安
等 级:新手上路
帖 子:162
专家分:4
注 册:2006-12-21
收藏
得分:0 
当M不于输入数的宽度时,按原样输出。否则在数的左侧补0或空格。%-2,表示当输入的数宽度小于M时,输出数向左靠拢,后面补0或空格。我用的编译器是空格。不补0

人生就是个死循环,退出这个循环的条件是系统停止。
2008-03-22 08:10
form521
Rank: 1
来 自:西安
等 级:新手上路
帖 子:162
专家分:4
注 册:2006-12-21
收藏
得分:0 
%2当M小于输入数的宽度时,按原样输出。否则在数的左侧补0或空格。%-2,表示当输入的数宽度小于M时,输出数向左靠拢,后面补0或空格。我用的编译器是空格。不补0

人生就是个死循环,退出这个循环的条件是系统停止。
2008-03-22 08:12
qfyzy
Rank: 2
等 级:论坛游民
威 望:1
帖 子:380
专家分:86
注 册:2008-2-17
收藏
得分:0 
回复 2# 的帖子
%2d不足的话一定不空格,多了照常输出。
只有%02d不足才补0

当对C的经验增加时,它会显的很好用.----Dennis M Ritche如是说
2008-03-22 11:20
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
[bo]以下是引用 [un]qfyzy[/un] 在 2008-3-22 11:20 的发言:[/bo]

%2d不足的话一定不空格,多了照常输出。
只有%02d不足才补0


唉...记不太清了..反正就是多了按实际输出,短了补东西...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2008-03-22 13:08
快速回复:【请教】关于域宽问题?
数据加载中...
 
   



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

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