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

标签 c

假设我有以下代码在 C 中打印出数组 a[n]:

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

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

最佳答案

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

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

这意味着您打印数组元素,然后在 i 不等于 (array size - 1)* 时打印一个空格,或者在打印数组的最后一个元素时打印换行符。

* 因为数组索引是从0开始的。

关于c - 在c中使用转义序列使用循环在打印数组末尾打印换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52127012/

相关文章:

您能解释一下 fflush() 和重定向输出发生了什么吗?

c - MISRA-C为什么忽略C强制执行的无符号到符号转换?

无法解决此代码的问题

c - 在翻译单元中使用 extern

c - 如何为具有 SRC、OBJ 和 BIN 子目录的 C 项目创建 Makefile?

c - &A[1] 应该与 A 本身的地址相同吗?

C - 更改 while 循环中条件的位置导致 C 中的段错误?

C 编程编译问题

c - 友好数算法的优化建议

c# - 如何从 C# 中以 Struct 作为参数调用 C 代码中的函数