C语言 小数点可变的表示 s = %7.*f 是什么意思?

void main()
{
double p,d1,d2,s,ep;//ep:放大倍数
p=3.1415926;//根据题义,以此值为参考值
int c,k;//k:循环变量,c:记录循环次数
for(k=1,ep=100.0;k<=4;k++,ep*=10.0) //根据题意,需要输出4个不同的s,因此外循环4次
{
d1=4.0,d2=1.0,c=0,s=0.0;//每计算一个新的数值3.14....时,均要对该变量赋初值
do
{
s+=d1/d2;
c++,d2+=2.0;
d1*=-1;
}while(fabs(s-p)>=0.5/ep);//while((int)(s*ep)!=(int)(p*ep));
printf("PI = %.7f s = %7.*f 循环次数 = %d\n", p, k+1,s, c); //小数点是可变的,k+1:小数点位数
}
printf("\n");
}*/

这个你把主要得都说出来了啊,%是输出常用符号,7表示有效数字为七位,“*”就是表示可变位的意思,f代表输出的是“float”型浮点数。

希望可以帮到你,有疑问欢迎追问
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-03
%7.*f 这个* 取的是后面 k+1 的值。
7.* 7表示格式输出的总长度就是一共输出 7位数字, * 表示精确到小数点后几位小数。
第2个回答  2012-11-30
前面的7表示的是从左到右占用的位数,小数点后面的数字表示小数点之后输出几位。
第3个回答  2012-11-30
就是用k+1指定*的数值,k+1必须是int型
一般的C语言书籍中格式化输出部分会有介绍