说我有以下代码来打印C中的数组a [n]:
for (i=0; i<n; i++) {
printf("%d ", a[i]);
}
printf("\n");
我想做的是打印在两个连续的数组元素之间给出“”的数组,并以换行符结尾,但是我想避免两次编写printf语句。我可以使用一些转义序列来做到这一点吗?最简单的方法是什么?
答案 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');