您的位置:首页 > 编程语言 > C语言/C++

分享C语言中的unsigned类型的一道题目

2012-02-01 20:29 267 查看
下面的代码有什么问题?

unsigned i ;

for (i=9;i>=0;i--)

{

printf("%u\n",i);

}

答案:

死循环

整形数据在计算机中是用补码表表示的

当i=0时,补码为0x00000000

i--后,

补码为:0xffffffff

因为i为无符号数,所以i>=0成立(此时计算机认为i是个很大的正整数),循环继续
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: