2017-09-13 109 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