2013-11-25 25 views
-2

所以這裏是我的程序。它寫出了一些陰毛的方塊。爲什麼我的程序結合了兩個printf命令?

#include <stdio.h> 

int main(){ 
    int a; 
    printf("Type an intiger."); 
    scanf("%i", &a); 
    printf("Square of that intiger is %i", a*a); 
    return 0; 
} 

當我在Eclipse中運行一個程序它首先要求我輸入一個number.I放在5.再作爲輸出它給了我

Type an intiger.Square of that intiger is 25. 

應該先打印「鍵入intiger 「然後休息。但它只是結合了兩個printf命令。問題是什麼?

+0

它應該是「整數」 –

+0

使用我剛剛下載的最新eclipse C/C++版本,您的代碼的複製粘貼就像您期望的那樣工作。也許[在這裏下載](http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/keplersr1),然後再試一次。 –

+0

我在這裏找到了答案: http://stackoverflow.com/questions/16877264/eclipse-c-c-printf-before-scanf-issue無論如何。 – GovernmentFX

回答

3

你需要一個newline character - printf("Type an intiger.\n");

在計算中,換行,也稱爲一個線路中斷或結束線 (EOL)標記,或簡單地斷裂,是一個特殊字符或序列 字符表示文本行結束。

而且格式說明符整數%d

scanf("%d", &a); 
printf("Square of that intiger is %d", a*a); 
+0

沒有問題是,我希望我的PROGRAMM做到以下幾點: 「鍵入intiger」 「這個數字的廣場25」 但現在我有我的5型,然後將其合併成一個單一的輸出「鍵入數的intiger.Square是25」 – GovernmentFX

2

如果你想讓它在不同的行,你可以「\ n」總是添加到字符串獲得一個新的生產線。

#include <stdio.h> 

int main(){ 
    int a; 
    printf("Type an intiger.\n"); 
    scanf("%i", &a); 
    printf("Square of that intiger is %i", a*a); 
    return 0; 
} 
+0

沒有問題是,我希望我的PROGRAMM做到以下幾點: 「鍵入intiger」 「這個數字的廣場25」 但現在我有我輸入5,然後它合併成一個單一的輸出「鍵入antiger.Square的那個數字是25」 – GovernmentFX

2

其中有2個問題。首先,如果你輸入整數,它應該是%d。例如:

scanf("%d", &a); 

第二,輸入後,您應該打印\n。所以,它會是這樣的printf("\n");。在我的代碼看看:

#include <stdio.h> 

int main(){ 
    int a; 
    printf("Type an intiger."); 
    scanf("%d", &a); 
    printf("\nSquare of that intiger is %d", a*a); 
    return 0; 
} 
+1

沒問題是,我想我的程序做以下事情: 「鍵入一個intiger」「這個數字的正方形是25」 但現在我已經輸入5,然後它合併成一個單一的輸出「輸入一個intiger.Square的數字是25」 – GovernmentFX

0

在代碼::它編譯罰款塊反正放\ n在第一個printf的結束,以及%d更改%我

相關問題