繁体   English   中英

如何在C中的一行中打印所有元素?

[英]How to print all elements in one line in C?

这个程序接受 10 个整数值并将它们存储在一个二维数组中。 假设我输入数字 1 到 10,我希望输出 1 2 3 4 5 6 7 8 9 10。我不希望它采用矩阵格式。 我怎样才能做到这一点?

#include <stdio.h>

int main() {
    /* 2D array declaration*/
    int disp[2][3];
    /* Counter variables for the loop */
    int i, j;
    for (i = 0; i < 2; i++) {
        for (j = 0; j < 3; j++) {
            printf("Enter value for disp[%d][%d]:", i, j);
            scanf("%d", &disp[i][j]);
        }
    }
    // Displaying array elements
    printf("Two Dimensional array elements:\n");
    for (i = 0; i < 2; i++) {
        for (j = 0; j < 3; j++) {
            printf("%d ", disp[i][j]);
            if (j == 2) {
                printf("\n");
            }
        }
    }
    return 0;
}

如果您不希望它采用矩阵格式,只需不要打印换行符。 这意味着您应该省略这些行:

if(j==2){
    printf("\n");
}

如果没有换行符,您的输出将全部在一行中。

修改您的代码以显示数组元素,如下所示:

//Displaying array elements
       printf("Two Dimensional array elements:\n");
       for(i=0; i<2; i++) {
          for(j=0;j<3;j++) {
             printf("%d ", disp[i][j]);
          }
       }

这部分

            if (j == 2) {
                printf("\n");
            }

正在添加换行符。 \n表示回车。 删除上面的内容,结果所有内容都将显示在一行中。

我们可以清楚的发现"printf("\n");" 是循环之中。 这意味着每次循环循环时它将运行一次。 这就是为什么你的线断了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM