2014-02-08 87 views
0

使用循環我寫了一個簡單的C程序打印的3所有的倍數但運行時我的代碼中的一些錯誤是:輸出錯誤的打印值用C

#include <stdio.h> 

void main(void) { 
    int i, x; 
    for(i = 1; i < 1000; i++) { 
     x = i % 3; 
     if(x == 0) { 
      printf("%d\n", i); 
     } 
    } 
} 

的問題是,如果我在循環中輸入大於891的數字直到1000,輸出從6開始而不是3開始,如果我按上述方式編寫代碼,則輸出從114開始。對於小於或等於891的值,它顯示正確的輸出。

+2

這適用於我。你如何查看輸出? –

+3

無法重現,您發佈的內容行爲正確。嘗試將輸出重定向到一個文件,可能是您用來查看截斷它的輸出的任何內容。 – Mat

+0

我正在使用代碼::阻止其在命令提示符下運行....是的我猜輸出被截斷 –

回答

1

確保您可以查看所有的輸出:

[email protected]:~/ccccc$ cat mmph.c && gcc mmph.c 
#include<stdio.h> 
main(){ 

    int i,x; 
    for(i=1;i<1000;i++) 
    { 
     x=i%3; 

     if(x==0){ 
      printf("%d\n",i); 

     } 
    } 
} 
[email protected]:~/ccccc$ ./a.out | egrep "^3$|999" 
3 
999 

正如你所看到的,這個工程。您的輸出可能被截斷。