bug代码如下 :
unsigned int i=0;
for(i=10;i>=0;i--)
{
.... //do something
}
由于i为无符号整型,当i=0时,i-1为一个极大的正整数,导致程序陷入死循环。有两种解决方法:
1.一般而言的话,将i的类型改为int 即可。
int i=0;
for(i=10;i>=0;i--)
{
.... //do something
}
2.使用i++代替i- -,写成如下形式:
unsigned int i=0;
for(i=0;i<=10;i++)
{
.... //do something
}
这样就不会出现无符号0-1的情况。