🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
C有三个用于输出字符串的标准库函数puts()、fputs()和printf()。 1、puts()函数只需要给出字符串参数的地址。 ~~~ #include <stdio.h> int puts(const char *s); ~~~ 示例: ~~~ #include <stdio.h> #define DEF "I am libing" int main(int argc, char **argv) { char str1[30] = "I am libing."; const char *str2 = "I am libing"; puts("I am libing."); puts(DEF); puts(str1); puts(str2); return 0; } ~~~ 运行结果测试: ~~~ I am libing. I am libing I am libing. I am libing ~~~ 注意:上面的所有字符串都是单行显示,但并没有在后面添加换行符。这就是,与printf()不同,puts()显示字符串时自动在其后添加一个换行符。 2、fputs()函数时puts()的面向文件版本。两者的区别是: a、fputs()需要第二个参数来说明要写的文件。 b、与puts()不同,fputs()并不为输出自动添加换行符。 ~~~ #include <stdio.h> int fputs(const char *s, FILE *stream); ~~~ 注意:gets()丢掉输入里的换行符,但puts()为输出添加换行符。另一方面,fgets()存储输入中的换行符,而fputs()也不为输出添加换行符。 技巧:假定写一个循环,读取一行并把它回显在下一行,可以这么写: ~~~ char line[80]; while(gets(line)) puts(line); ~~~ 3、printf()与puts()的区别之一就是printf()并不自动在新行上输出每一个字符串。必须指明需要另起一行的地方。 pintf("%s \n", string);等同于 puts(string);