整型截断经典实例

mac2024-11-20  5

很多人看到这个题目第一眼,可能认为输出一次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"); }

最新回复(0)