坑爹代码 | 这个 unsigned 我看了半天才想明白

红薯
 红薯
发布于 2019年06月26日
收藏 14

下面这段再简单不过的代码,你能猜出是什么结果吗?

int main()
{
    unsigned int  i = 10;
    for(i ; i >=0; i--)
    {
        printf("@_@<-->@_@\n");
    }

    printf("end\n");
}

别运行,猜就行了,然后移步下面链接发表评论:

https://gitee.com/oschina/bullshit-codes/blob/master/C/死循环.md

码云 6 周年,我们正在征集各种坑爹代码

详细的参与方法请看  https://gitee.com/oschina/bullshit-codes

------ 分割线 ------

其他坑爹代码吐槽:

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:坑爹代码 | 这个 unsigned 我看了半天才想明白
加载中

精彩评论

wei2011
wei2011
不是11次,而是死循环
hell0cat
hell0cat
这锅确实是 >=0 的,你想想,如果我们把代码改正确了,int i = 10;
for(i ; i >=0; i--) {} 循环体执行几次?是11次!如果你要找前10个用户大酬宾,结果出来11个!这是unsigned的锅吗?这是程序员不会数数的结果,别说写10就是为了执行11次这种借口,正确的代码是写10要执行10次,条件应该是 i > 0,或者 i >= 1
没有头像也是一种帅
没有头像也是一种帅
为什么说人家坑?人家说不定就是要死循环😈
来自山卡拉的你
来自山卡拉的你
i >=0才是最坑爹

最新评论(21

咕咚萌西
咕咚萌西
0怎么往下减
wei2011
wei2011
很久以前就遇到过了😄,还在百度博客上写了一篇文章,不过那时用的是delphi,i的数据类型是Cardinal
这波天秀
这波天秀
这有什么坑爹,就是故意写循环怎么了?
oreak
oreak
这也叫坑爹?是叫不了解语言特性
老牛拉货车
老牛拉货车
这个栏目是针对小学生的嘛
一个灰
一个灰
编译器看不出是无限循环吗?
Tuco
Tuco
这种错误,编译会告警得
猴子叫你一声敢答应吗
猴子叫你一声敢答应吗
无符号整形不小于0永远成立,armcc 会给个错误。
没有头像也是一种帅
没有头像也是一种帅
为什么说人家坑?人家说不定就是要死循环😈
dwingo
dwingo
虽然坑可以小心地避免, 但没有特殊需求的话, 最好不要用无符号数类型.
返回顶部
顶部