问答详情
源自:2-4 基本数据类型

*符号的疑问

#include<stdio.h>   

int main()              

{

    char a='*';

    int b=sizeof('*');

    printf("%c,%d",a,b);

    return 0;

}


输出结果为*,4    

为什么*的字节大小为4?*位char型数据,char型数据大小不该是1吗?

提问者:学长就是帅 2015-04-13 19:28

个回答

  • DanDanHang
    2015-04-13 19:47:24
    已采纳

    #include <stdio.h>   
    int main()              
    {
        char a='*';
        printf("%c,%d",a,sizeof(a)); // int b=sizeof('*'); 会直接把sizeof返回的转成4
        return 0;
    }

    试试这个

  • PopovMok
    2015-04-16 23:14:37

    不是的 你不能输入int b=sizeof('*') 

    因为int后一定是实型 所以最后输出的值一定是实型啊