读书人

一点小疑问C高手大牛们给小弟指点一

发布时间: 2012-09-19 13:43:53 作者: rapoo

一点小疑问,C高手大牛们给小弟指点一下
#include <stdio.h>
int main(void)
{
int n =0;
size_t intsize;

intsize = sizeof (int);
printf("n = %d, n has %u bytes; all ints have %u bytes.\n",
n, sizeof n, intsize );

return 0;
}
输出n = 0, n has 4 bytes; all ints have 4 bytes.
n=0我明白,但是后面的就不明白了,还望大家解答啊

[解决办法]
有什么不明白了?32位机器 int本来就是4位
[解决办法]
%u无符号输出,sizeof n=sizeof(int),即为四个字符,size_t 为机器相关的长度,你的机器为长度4,因此输出4
[解决办法]
在32位机器上int类型占4个字节。
sizeof是计算某个变量的类型所占内存的字节数。
sizeof(int);占4个字节。

读书人网 >C语言

热点推荐