【字符串】puts函数详解
前面在输出字符串时都使用printf,通过“%s”输出字符串。其实还有更简单的方法,就是使用 puts() 函数。该函数的原型为:
1 #include <stdio.h> 2 int put(const char *s);
这个函数也很简单,只有一个参数。s可以是字符指针变量名、字符数组名,或者直接是一个字符串常量。功能是将字符串输出到屏幕。输出时只有遇到 '\0' 也就是字符串结束标志符才会停止。
下面写一个程序:
1 #include <stdio.h> 2 int main(void) 3 { 4 char name[]="祖国!"; 5 printf("%s\n",name);//用printf输出 6 puts(name);//用puts()输出 7 puts("我爱你!");//直接输出字符串 8 return 0; 9 }
可见使用 puts() 输出更简洁、更方便。而且使用 puts() 函数连换行符 '\n' 都省了,使用 puts() 显示字符串时,系统会自动在其后添加一个换行符,也就是说:printf("%s\n",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\n", str);
而 puts() 就不能使用如下写法:
1 puts(输出结果是:str);
因此,puts() 虽然简单、方便,但也仅限于输出字符串,功能还是没有 printf() 强大。