【问题标题】:How to print variable multiple times with one printf statement in C如何在 C 中使用一个 printf 语句多次打印变量
【发布时间】:2017-03-21 08:11:01
【问题描述】:

在搜索堆栈溢出并浏览了几个教程后,我仍然无法找到如何使用一条 printf 语句多次打印变量。

这是我想要得到的结果:

1111111111

2222222222

3333333333

通过使用这样的东西:

for(int i=1; i<4; i++)

{
    printf("%d", i);   //it would be great to add something here
}

但没有另一个 for 循环!

或者可以像这样简单地问,我要 printf 打印变量 int i=1;连续多次没有循环。所以输出将是 1111111111

【问题讨论】:

  • printf( "%d%d%d%d\n", i, i, i, i ) 浮现在脑海中。有什么更具体的方法吗?
  • 为了打印动态数量的数字,第二个循环有什么问题?

标签: c printf


【解决方案1】:

你必须使用第二个循环,像这样:

int i, j, number = 1;
for (i = 0; i < 4; i++){
    for (j = 0; j < 3; j++){
        printf("%d", number);
    }
    printf("\n");
    number++;
}

其中4 是您要打印的不同数字的数量,3 是您要打印数字的次数。在您的情况下,这将打印:

111

222

333

444

否则,您必须手动指定 printf 中的参数数量:

int i = 1;
printf("%d%d%d\n", i, i, i);

【讨论】:

    【解决方案2】:

    所以答案是......不可能按照我想要的方式做我想做的事。最好的方法是在现有循环中使用另一个 for 循环。

    谢谢大家的回答。

    【讨论】:

      【解决方案3】:

      没有循环就不可能打印出来(for、while、do while)。您也可以使用 goto 语句,但不建议这样做。

              int counter = 1;
      label1: printf("1");
              counter ++;
              if (counter <= 10)
                 goto label1;
      

      正如我所说,使用 goto 是不好的。所以我推荐循环。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-13
        • 1970-01-01
        • 2016-07-16
        • 2016-04-08
        • 1970-01-01
        • 2019-11-30
        相关资源
        最近更新 更多