【字符串】puts函数详解

前面在输出字符串时都使用printf,通过“%s”输出字符串。其实还有更简单的方法,就是使用 puts() 函数。该函数的原型为:

1 #include <stdio.h>
2 int put(const char *s);

这个函数也很简单,只有一个参数。s可以是字符指针变量名、字符数组名,或者直接是一个字符串常量。功能是将字符串输出到屏幕。输出时只有遇到 '' 也就是字符串结束标志符才会停止。

下面写一个程序:

 
1 #include <stdio.h>
2 int main(void)
3 {
4     char name[]="祖国!";
5     printf("%s
",name);//用printf输出
6     puts(name);//用puts()输出
7     puts("我爱你!");//直接输出字符串
8     return 0;
9 }

可见使用 puts() 输出更简洁、更方便。而且使用 puts() 函数连换行符 ' ' 都省了,使用 puts() 显示字符串时,系统会自动在其后添加一个换行符,也就是说:printf("%s ",name);和puts(name);是等价的。所以前面字符指针变量中:printf("%s/n",string);也可以直接写成:puts(string);

我们写一个程序来验证一下:

1 #include <stdio.h>
2 int main(void)
3 {
4     char *string="I Love You China!";
5     puts(string);
6     return 0;
7 }

但是 puts() 和 printf() 相比也有一个小小的缺陷,就是如果 puts() 后面的参数是字符指针变量或字符数组,那么括号中除了字符指针变量名或字符数组名之外什么都不能写。比如 printf() 可以这样写:

1 printf("输出结果是:%s
", str);

而 puts() 就不能使用如下写法:

1 puts(输出结果是:str);
因此,puts() 虽然简单、方便,但也仅限于输出字符串,功能还是没有 printf() 强大。
 
 
原文地址:https://www.cnblogs.com/Luthais/p/10212964.html