2017-09-13 105 views
2

執行此代碼時,每次輸入值時,都會用換行符分隔添加項。因此,例如:如何刪除表格中的換行

1 

    4  7  10 

我認爲這是通過輸入一個新行的scanf()引起的。如何編寫以下代碼:

1 4  7  10 

是否打印?

#include <stdio.h> 

int main() { 
    int number; 
    int counter = 1; 
    printf("A\tA+3\tA+6\tA+9\n"); 
    scanf ("%d", &number); 
    while (number != -1) { 
     while (counter <=3) { 
      number += 3; 
      printf("\t%d", number); 
      counter++; 
     } 
     printf("\n"); 
     scanf ("%d", &number); 
     counter = 1; 
    } 
} 
+1

這不是*你*誰進入一個新行結束輸入?該換行符將很難刪除程序,因爲它不是由程序實際打印的,而是由終端或控制檯程序處理的。相反,我建議一個不同的策略:打印實際輸入以及正常輸入,全部在自己的行上。 –

回答

0

我想你已經上混合輸入輸出&的概念。其實在你的代碼,你也只有輸出:

> 4 7 10

試圖將這段代碼與你的內心while循環,然後通過管道將標準輸出到另一個文件,檢查結果,你就明白了。

while (counter <=4){ 
    printf("%d\t", number); 
    number += 3; 
    counter++; 
} 

./your_program > output_file