*符号的疑问

来源:2-4 基本数据类型

学长就是帅

2015-04-13 19:28

#include<stdio.h>   

int main()              

{

    char a='*';

    int b=sizeof('*');

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

    return 0;

}


输出结果为*,4    

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

写回答 关注

2回答

  • 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;
    }

    试试这个

    学长就是帅

    我知道了,是慕课网的编辑器存在了问题bug?用VC就不会是4而是1了,谢谢

    2015-04-14 18:28:21

    共 1 条回复 >

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

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

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

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926021 学习 · 20793 问题

查看课程

相似问题