#include <stdio.h>
int main()
{
int a, b;
float d, e;
char c1, c2;
double f=0.0 , g;
long m, n;
unsigned int p, q;
a = 61; b = 62;
c1 = 'a'; c2 = 'b';
d = 3.1415; e = -6.543;
f==3157.890121; g = 0.0123456789;
m = 5000; n = 6000000;
p = 32768; q = 40000;
printf("a=%d,b=%d\n c1=%c,c2=%c\n d=%6.2f,e=%6.2f\n",a, b, c1, c2, d, e);
printf("f=%15.6f,g=15.12f\n m=%ld,n=%ld\n p=%u,q=%u\n",f,g,m,n,p,q);
return (0);
}
g输出少了个%号,导致后面全部错位了。
另外f==3157.890121写错了,应该是f = 3157.890121
修改如下:
#include <stdio.h>
int main()
{
int a, b;
float d, e;
char c1, c2;
double f=0.0 , g;
long m, n;
unsigned int p, q;
a = 61; b = 62;
c1 = 'a'; c2 = 'b';
d = 3.1415; e = -6.543;
f=3157.890121; g = 0.0123456789;
m = 5000; n = 6000000;
p = 32768; q = 40000;
printf("a=%d,b=%d\n c1=%c,c2=%c\n d=%6.2f,e=%6.2f\n",a, b, c1, c2, d, e);
printf("f=%15.6f,g=%15.12f\n m=%ld,n=%ld\n p=%u,q=%u\n",f,g,m,n,p,q);
return (0);
}
f g是double,输出应该%lf
而且g的控制符没写%,f==3157.890121;多打了等号