请问下述C语言代码中的puts("");语句作用是什么?
关于C代码中
puts("");的含义与作用解释 先贴出你提供的代码:
#include <stdio.h> int main(void){ int arr [3][3]={{1,2,3},{4,5,6},{7,8,9}}; int i,j; for(i =0;i<3;i++) { for(j=0;j<3;j++) { printf("%d ", arr[i][j]); } puts(""); return 0; } }
一、puts("");的基本含义
puts是C标准库<stdio.h>里的输出函数,核心行为是:
- 接收一个字符串参数,把它输出到控制台
- 输出结束后,会自动在末尾追加一个换行符(
\n)
当传入空字符串""时,没有实际内容可输出,函数就只会输出那个自动追加的换行符,效果和执行printf("\n");完全一样。
二、在这段代码里的预期作用
这段代码原本的逻辑是遍历3×3的二维数组,内层循环打印一行的所有元素(每个元素后加空格)。写puts("");的意图是:
- 等一行的元素全部打印完后,输出一个换行符,让下一行元素从新的一行开始打印,最终让数组输出格式整齐,比如:
1 2 3 4 5 6 7 8 9
三、代码里的隐藏问题
不过这段代码有个明显错误:return 0;被放在了外层循环的代码块里,第一次循环执行到这里就直接终止了main函数,实际运行时只会打印第一行元素和一次换行,后面两行的遍历和打印根本不会执行。
内容的提问来源于stack exchange,提问作者Kavindu Jayawardhane
相关产品推荐
相关产品推荐

