RSS

Böcek Avcılığı, lint ve bir C kodu

05 Sep

1    #include 
2
3    double scores[] = { 67 , 87 , 100 } ;
4    int nscores = 3 ;
5
6    double average ( )
7        {
8        double sum = 0 ;
9        for( int n = 0 ; n < nscores ;  + + n )
10           {
11           sum += scores [ n ] ;
12           }
13       return sum / nscores ;
14       }
15
16   int main ( )
17       {
18       printf( "The average score in the quiz " ) ;
19       printf( "was %g n" , average ( ) ) ;
20       return 0 ;
21       }

Gimpel‘in Eylül ayı böceğine göre yukarıdaki C kodunun derlenmesi sonucunda ortaya çıkan programın çalışması biraz vakit alıyor 😉

gcc 3.3.4, tüm uyarılar açık yapılmaz ise yukarıdaki programı hata ya da uyarı vermeden derliyor. -Wall ya da –warn-all seçeneği ile derlenirse “statement with no effect” uyarısı veriyor. Gimpel’in lint uyarısı ise çok daha detaylı ve açık.

Tabii bilgisayar başında bazı şeyleri görmek çok daha kolay, DDJ Eylül sayısının basılı halindeki Gimpel reklamındaki bu C koduna bakarken hatayı bulana dek biraz vakit harcadığımı itiraf etmeliyim.

Ayın Böceği arşivlerinin son 9 senesine buradan erişebilirsiniz. C ve C++ hatalarını ayıklamak konusunda ne kadar keskin gözleriniz ve zihniniz olduğunu test etmek için pek çok eğlenceli ve zihin açıcı örnek mevcut.

Advertisements
 
Leave a comment

Posted by on September 5, 2006 in General, Programlama

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: