问题描述
我了解 %zd
是格式化 sizeof
结果的建议方式。但是,我不明白为什么这是必要的。例如,使用 lu
给我相同的输出,而且 sizeof
的结果不是 unsigned long 吗?例如:
printf("Sizeof(char): %lu,Sizeof(short): %lu,Sizeof(int): %lu,Sizeof(long): %lu,Sizeof(long long): %lu,Sizeof(float): %lu,Sizeof(double): %lu,Sizeof(long double): %lu\n",sizeof(char),sizeof(short),sizeof(int),sizeof(long),sizeof(long long),sizeof(float),sizeof(double),sizeof(long double));
printf("Sizeof(char): %zd,Sizeof(short): %zd,Sizeof(int): %zd,Sizeof(long): %zd,Sizeof(long long): %zd,Sizeof(float): %zd,Sizeof(double): %zd,Sizeof(long double): %zd",sizeof(long double));
Sizeof(char): 1,Sizeof(short): 2,Sizeof(int): 4,Sizeof(long): 8,Sizeof(long long): 8,Sizeof(float): 4,Sizeof(double) : 8,Sizeof(long double): 16
Sizeof(char): 1,Sizeof(double): 8,Sizeof(long double): 16
使用 %zd
的原因或优势是什么?为什么首先要添加它?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)