使用c中的转义序列使用循环在打印数组的末尾打印换行符

时间:2018-09-01 09:59:13

标签: c

说我有以下代码来打印C中的数组a [n]:

for (i=0; i<n; i++) {
    printf("%d ", a[i]);
}
printf("\n");

我想做的是打印在两个连续的数组元素之间给出“”的数组,并以换行符结尾,但是我想避免两次编写printf语句。我可以使用一些转义序列来做到这一点吗?最简单的方法是什么?

2 个答案:

答案 0 :(得分:4)

一种方法是使用三元运算符,如:

printf("%d%c", a[i], i==n-1? '\n': ' ');

这意味着您要打印数组元素,然后在我不等于(数组大小-1)*的情况下打印空格,或者在获取要打印的数组的最后一个元素时打印换行符。

*由于数组索引从0开始。

答案 1 :(得分:2)

您可以使用conditional operator来做到这一点。

printf("%d%c", a[i], (i != n-1) ? ' ' : '\n');