想问一下这个报错的意思 为什么每一句都会有下划线 (语言-c语言) sizeof可以这样用吗 run出来没有问题

img


想问一下这个报错的意思 为什么每一句都会有下划线 (语言-c语言) sizeof可以这样用吗 run出来没有问题

强制类型转换试试:printf("Number of bytes used to store a short int type variable is %d\n",(int)sizeof(char));

可以这样用,我已经试过了,在我的VS中可以

#include <iostream>
#include<stdio.h>
int main()
{
    printf("第一行:%d\n",sizeof(char)); 
    printf("第二行:%d\n",sizeof(short int)); 
    printf("第三行:%d\n",sizeof(int)); 
    printf("第四行:%d\n",sizeof(long int)); 
    printf("第五行:%d\n",sizeof(float)); 
    printf("第六行:%d\n",sizeof(double)); 
    system("pause");
    return 0;
}

结果:

img

波浪线只是警告,这里不好,但编译器知道你的意图,所以自动处理了
sizeof()是数据类型和printf()需要的数据类型不符,sizeof()是U64, 而printf()需要int类型