#include <stdio.h>
int main(void){
char i;
for(i = 0; i < 255; i++){
printf("i = %d\r\n",i);
}
printf("循环退出了\r\n");
while(1){
; //空循环
}
return 0;
}
分析:
i 从0开始自增:0,1,2 ...一直加到 127
- i++ 到128的时候,有符号char溢出,直接变成负数 -128,再自增,-127这样就变成了死循环
如果把char i 改成 unsigned char i 或 int i 就可以正常循环