【问题标题】:c - printing characters of multi-dimensional array in pairsc - 成对打印多维数组的字符
【发布时间】:2019-09-18 01:37:45
【问题描述】:

所以我有一个二维数组来保存用户输入的字符。用户一次输入两个字符,如“AD”、“TC”、“2B”和“LM”。我正在尝试将数组打印出来,以便将其格式化为“AD、TC、2B、LM”,但现在它打印为“A、D、T、C、2、B、L、M”

我想知道是否有办法像用户最初输入的那样将字符 2 x 2 打印出来?另外,我还想去掉末尾多余的逗号。

int i, j;
for (i = 0; i < 4; i++) {
    for(j = 0; j < 2; j++){
        printf("%c,", usersAnswers[i][j]);
    }
}

【问题讨论】:

  • 您当前的输出正是您的printf 和内部for 循环编写的内容。将printf 中的"%c, " 更改为"%c",然后在您的第一个} 之后放入printf(",")

标签: c arrays multidimensional-array


【解决方案1】:

在打印字符之前添加 printf(comma) 位置检查可能是一种解决方案。第一个条件 (i > 0) 去掉了第一个和最后一个逗号。第二个条件 (j == 0) 去掉一行中的逗号。

int i, j;
for (i = 0; i < 4; i++) {
    for(j = 0; j < 2; j++){
        if(i > 0 && j == 0) { // add the print comma condition
            printf(",");
        }
        printf("%c", usersAnswers[i][j]);
    }
}

简而言之,在打印除第一行之外的一行中的第一个字符之前打印逗号。

【讨论】:

    猜你喜欢
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    • 1970-01-01
    • 2014-12-21
    • 2015-12-13
    • 1970-01-01
    相关资源
    最近更新 更多