c语言(c6328大小不匹配)

int a;
long b;
long long c;
long double s;
printf(“size of int = %d bytes \n",sizeof(a));
printf(“size of long = %d bytes \n",sizeof(b));
printf(“size of long long = %d bytes \n",sizeof(c));
printf(“size of long double = %d bytes \n",sizeof(a));
getchar;
return 0;
vs2019警告c6328 :大小不匹配 :已将unsigned_64作为__Param_(2)传递,但需要使用int来调用printf
这是应该怎么处理才能消除这个警告?拜托有木有大佬求指教

强制转换一下类型就可以了,如下:
printf(“size of int = %d bytes \n",(int)sizeof(a)); //这里加(int)强转
printf(“size of long = %d bytes \n",(int)sizeof(b));
printf(“size of long long = %d bytes \n",(int)sizeof(c));
printf(“size of long double = %d bytes \n",(int)sizeof(a));