#include <stdio.h> int main() { printf("%d\n",sizeof(int)); return 0; }
sizeof的结果是unsigned类型的值,而%d输出的是signed类型的值,类型不匹配,所以给出了警告。可以增加强制类型转换:int(sizeof(int))
你的编译器是64bit的,你试试看用 %ld 代替 %d