标题:请教一个长度运算符号的问题
只看楼主
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
得分:0 
以下是引用PcrazyC在2007-3-10 23:18:16的发言:

就像这个,我只是看见别人用了这个格式,我上网查根本查不到,书上也没见过,下面的是我自己调试后得到的结果

printf("%*s\n",M,"字符串"+N)的用法说明

先看N的值,去掉字符串的左边N个字符,再看字符串的位数与M的值的大小
1.若字符串的位数比M大,然后输出
2.若字符串的位数比M小,就先在M的左边补空格,使字符串的长度等于M,然后输出


printf("%-*s\n",M,"字符串"+N),
先看N的值,去掉字符串的左边N个字符,再看字符串的位数与M的值的大小
1.若字符串的位数比M大,然后输出
2.若字符串的位数比M小,就先在M的右边补空格,使字符串的长度等于M,然后输出

c primer plus 5th中有对printf()的*修饰符作介绍


麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2007-03-15 19:06
catroydog
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-3-15
得分:0 

一个最简单的方法 a + 2 - a * 6/f + c%a
设有整型变量a = 2,字符型变量c =‘a’,但精度实型变量f = 3.0


printf("%f",c%a);
printf("%d",c%a);
printf("%f",(a+2-a*6/f+c%a));
printf("%d",(a+2-a*6/f+c%a));
看看结果对比下,我机子没装TC不好意思,没调试,自己调一下,一对比就出来了,%d最后是输出整数,%f则输出小数,这样可以很清楚"c%a"去模是怎么样的,


饮水思源,滴水之恩,涌泉相报恐不足。 相信自己,前功尽弃,从头再来亦不难!
2007-03-15 20:08
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
得分:0 
以下是引用zhaoyg在2007-3-15 19:06:27的发言:

c primer plus 5th中有对printf()的*修饰符作介绍

我说的有没有错


雁无留踪之意,水无取影之心
2007-03-15 20:11
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
得分:0 
以下是引用PcrazyC在2007-3-15 20:11:17的发言:

我说的有没有错

没有错。


麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2007-03-15 22:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-123542-1-1.html




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

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