快捷导航

要用printf输出sizeof的问题,按下图所示运行,为什么会显示有错误syntax e

#includeintmain(){        inta,b;        floatd,e;        charc1,c2;        doublef,g;        longm,n;        unsignedintp,q;        a=61;b=62;        c1='a';c2='b';        d=3.56;e=-6.87;        f=3157.890121;g=0.123456789;        m=50000;n=-60000;        p=32768;q=40000;        printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);        printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);        printf("sizeof(int):%dsizeof(int):%d\n,sizeof(float):%dsize(float):%d\n,sizeof(char):%dsizeof(char):%d\n",sizeof,sizeof,sizeof,sizeof,sizeof,sizeof);        printf("sizeof(double):%dsizeof(double):%d\n,sizeof(long):%dsizeof(long):%d\n,sizeof(unsignedint):%dsizeof(unsignedint):%d\n",sizeof,sizeof,sizeof,sizeof,sizeof,sizeof);        return0;}是最后的sizeof后应该加(),括号中应该写输出的格式吗?可是char的输出格式写c显示不正确,unsigned int 的输出格式u也显示不正确……求解答。即如下所示        printf("sizeof(int):%dsizeof(int):%d\n,sizeof(float):%dsize(float):%d\n,sizeof(char):%dsizeof(char):%d\n",sizeof(d),sizeof(d),sizeof(f),sizeof(f),sizeof(c),sizeof(c));        printf("sizeof(double):%dsizeof(double):%d\n,sizeof(long):%dsizeof(long):%d\n,sizeof(unsignedint):%dsizeof(unsignedint):%d\n",sizeof(f),sizeof(f),sizeof(f),sizeof(f),sizeof(u),sizeof(u));

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

......
需要明白, sizeof 是一个运算符, 格式为: sizeof( type )  比如你想知道一个int类型占多大字节, 可以这样写printf(“%d”,sizeof( int ));   输出的 格式控制符为 %d , 输出结果为 4,
如果你想知道, 一个数 所占的字节数, 可以这样写:
double d = 1.00;
printf( " %d ", sizeof(d) );
输出结果为: 8, 也就是 double类型所占的字节数 。。。


所以 对比 上面你 的 程序,或许你就会知道 那里出错了吧。。。 自己修改吧。。。
-------------------------------------------------------分---割---线--------------------------------------------------------------
啦啦啦~~Imcainiao
回复

使用道具 举报

明白了!蟹蟹
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP