今天在溜达的时候,看到了一道题目,来学习一下。
思考下面这道题目的输出:
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
for (char i = 0; i < 256; i++)
{
printf("%d ", i);
}
cin.get();
return 0;
}
一开始,我还以为就像普通循环一样。
但是:
Too young,too naive…
char 取值范围为 -128-127( -2^7 ~ 2^7-1),所以循环到i为127,再++char对象就会溢出,变为-128,重新自增,陷入死循环。