| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2138 人关注过本帖
标题:printf输出
只看楼主 加入收藏
姚伟男
Rank: 1
等 级:新手上路
帖 子:19
专家分:2
注 册:2009-6-18
结帖率:0
收藏
 问题点数:0 回复次数:21 
printf输出
printf("%*d",.....)是什么东西?高手指点下,谢谢
搜索更多相关主题的帖子: 输出 printf 
2009-09-20 13:22
IWAnt
Rank: 2
来 自:nefu
等 级:论坛游民
帖 子:18
专家分:25
注 册:2009-9-20
收藏
得分:0 
此处的“*”应理解为其在ASCII中的值,即42,意味着输出的内容在输出格式上占42列,可用下面的小程序验证

# include < stdio.h >
int main ( int )
{
int a = 10000;
printf ("%d", a);
return 0;

}


我的双眼看湿了你的肩膀,你会用多久路过我的身旁
2009-09-20 13:52
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
回复 2楼 IWAnt
你想用下面的程序验证一下:
# include < stdio.h >
int main ( int )
{
int a = 10000;
printf ("%d", a);
return 0;

}
那么你的输出应该是printf("%*d",a)吧。即使这样运行之后我的输出也一直是1171,不论a的初始值是多少。所以%*d应该不是那个意思。

2009-09-20 15:37
youkuwanhuo
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2007-9-21
收藏
得分:0 
格式字符串的一般形式为:  
%[*][输入数据宽度][长度]类型  
其中有方括号[]的项为任选项  
 
“*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。  
如:  
scanf("%d %*d %d",&a,&b);  
当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。

对手,触及梦想的另一只手,让成功与梦想更近。而 最大的对手就是自己,不断挑战,战胜自我。
2009-09-20 16:25
梁子
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:83
专家分:191
注 册:2009-9-20
收藏
得分:0 
个人认为:这是c语言未定义的行为,不同的编译器有不同的结果。我用VC6.0编译二楼的程序,结果为N行空格之后出现了2367460。
以上仅为个人观点,期待高手给出更好的答案。
2009-09-20 18:56
yuesheng3707
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2009-9-19
收藏
得分:0 
好玩  
2009-09-20 18:59
姚伟男
Rank: 1
等 级:新手上路
帖 子:19
专家分:2
注 册:2009-6-18
收藏
得分:0 
是哦!是很头疼的事啊
那小弟该咋办?
2009-09-21 10:34
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:0 
TC下测试:
#include <stdio.h>
main()
{
 int a=5,b=1000,c=2000;
 printf("123456789012345678901234567890\n");
 printf("%*d%*d\n",a,b,a,c);
 printf("%5d%5d\n",b,c);
 
}运行结果:
123456789012345678901234567890
 1000 2000    (在贴里调了几次排这位置还是不对,1000和2000都往后移一位,下面一样。)
 1000 2000
·
·
结果看出,%*d 这里的'*'星表示要几个位来显示输出的变量,而对应的变量是来决定显示的位数,上面a值是5,就是5个位置来显示b变量。同等%5d,大家可以改动a值来测试一下。

[ 本帖最后由 UserYuH 于 2009-9-21 11:32 编辑 ]

努力—前进—变老—退休—入土
2009-09-21 11:22
末末309104535
Rank: 2
来 自:湘 益阳 编成小学
等 级:论坛游民
帖 子:70
专家分:27
注 册:2009-2-17
收藏
得分:0 
    good
2009-09-21 17:20
LBY318902435
Rank: 2
来 自:江苏南京
等 级:论坛游民
帖 子:76
专家分:48
注 册:2009-3-31
收藏
得分:0 
4楼应该是对的

走自己的路……
2009-09-22 12:17
快速回复:printf输出
数据加载中...
 
   



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

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