问题:printf("Is %2.2e the same as %2.2f?\n",1201.0,1201.0);打印的结果,想求一下过程
%e是科学计数法格式输出,%2.2f是2位小数输出
所以%2.2e输出是 1.20e+003,%2.2f输出是1201.00
printf("%f%%", 1.0/3);
输出0.333333%。
#include<stdio.h>
int main()
{
char ch[] = "hello world.";
int m = 9;
int n = 7;
printf("%*.*s\n",m,n,ch);
return 0;
}
前边的 \* 定义的是总的宽度,后边的 \* 定义的是输出的个数。分别对应外面的参数m和n 。我想这种方法的好处是可以在语句之外对参数m和n赋值,从而控制输出格式。
#include<stdio.h>
int main()
{
char ch[] = "hello world.";
int m = 9;
int n = 7;
int len = 0;
printf("%*.*s is hello world\n%n",m,n,ch, &len);
printf("printf len = [%d]\n", len);
return 0;
}