sizeof用于计算任何数据类型的大小,以字节数为单位。这不意味着字节数是一个整数吗?

时间:2015-01-06 06:18:15

标签: c++ c sizeof

当我运行这两个使用sizeof()运算符的程序时,会产生以下输出。 2个代码之间的唯一区别是d在第一个代码中初始化为0,在第二个代码中初始化为-1。为什么第二个程序没有进入循环体?

1)

#include<stdio.h>
int main()
{
int d;
printf("Before loop\n");
 for(d=0;d<=sizeof(int);d++)
 {  
  printf("sizeof operator\n");
 }
 printf("After loop\n");
return 0;
}

输出

Before loop
sizeof operator
sizeof operator
sizeof operator
sizeof operator
sizeof operator
After loop

2)

#include<stdio.h>
int main()
{
int d;
printf("Before loop\n");
 for(d=-1;d<=sizeof(int);d++)
 {  
  printf("sizeof operator\n");
 }
   printf("After loop\n");
  return 0;
 }

输出:

Before loop
After loop

0 个答案:

没有答案