强制类型转换试试: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;
}
结果:
波浪线只是警告,这里不好,但编译器知道你的意图,所以自动处理了
sizeof()是数据类型和printf()需要的数据类型不符,sizeof()是U64, 而printf()需要int类型