C语言中史上最愚蠢的Bug

本文解析了两个常见的编程Bug案例。第一个案例涉及C语言中关于路径字符串转义字符的误解,导致代码语法错误;第二个案例则是由于浮点数运算符优先级理解不当及注释使用不规范引发的问题。通过这两个案例,读者可以加深对编程细节的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

From: http://sd.youkuaiyun.com/a/20110826/303659.html

导读:本文主要讲了两个bug:

1.

   else if (code == 200) {     // Downloading whole file  
        /* Write new file (plus allow reading once we finish) */  
       
        // FIXME Win32 native version fails here because  
        //   Microsoft's version of tmpfile() creates the file in C:\  
        g = fname ? fopen(fname, "w+") : tmpfile();  
    } 
这段代码第6行无法执行,因为C:\中的\代表本行还没有结束,所以第6行仍然是注释行


2.

    float result = num/*pInt;  
    ….  
     
    /*  some comments */  
     
    num++; 
这段代码第一行本想表示 num/(*pInt),但是由于没有加括号,导致/*被解释成多行注释开始符号,因此该式子变成float result = num++;了


正文见http://sd.youkuaiyun.com/a/20110826/303659.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值