很多人看到这个题目第一眼,可能认为输出一次hh 但结果是for循环是死循环,会一直打印 为什么呢? 原因包含了整型的截断 当char i=256时 256的二进制是0000 0001 0000 0000 当将这个值赋给char时,会发生截断得到0000 0000,截断这样一个字节 将其打印出来
#include<stdio.h>
#include<stdlib.h>
int main()
{
int count
= 0;
unsigned char i
= 0;
for ( i
= 255; i
<= 255; ++i
)
{
printf("hh\n");
count
++;
}
printf("count=%d",count
);
system("pause");
}