C语言中史上最愚蠢的Bug

From: http://sd.csdn.net/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.csdn.net/a/20110826/303659.html

你可能感兴趣的:(Programming)