#include<stdio.h>
int main()
{
char a='*';
int b=sizeof('*');
printf("%c,%d",a,b);
return 0;
}
输出结果为*,4
为什么*的字节大小为4?*位char型数据,char型数据大小不该是1吗?
#include <stdio.h> int main() { char a='*'; printf("%c,%d",a,sizeof(a)); // int b=sizeof('*'); 会直接把sizeof返回的转成4 return 0; }
试试这个
不是的 你不能输入int b=sizeof('*')
因为int后一定是实型 所以最后输出的值一定是实型啊