前面在输出字符串时都使用printf,通过“%s”输出字符串。其实还有更简单的方法,就是使用 puts() 函数。该函数的原型为:
这个函数也很简单,只有一个参数。s可以是字符指针变量名、字符数组名,或者直接是一个字符串常量。功能是将字符串输出到屏幕。输出时只有遇到 '\0' 也就是字符串结束标志符才会停止。
下面写一个程序:
# include <stdio.h>
int main(void)
{
char name[] = "祖国!";
printf("%s\n", name); //用printf输出
puts(name); //用puts()输出
puts("我爱你!"); //直接输出字符串
return 0;
}
输出结果是:祖国!祖国!我爱你!
可见使用 puts() 输出更简洁、更方便。而且使用 puts() 函数连换行符 '\n' 都省了,使用 puts() 显示字符串时,系统会自动在其后添加一个换行符,也就是说:
printf("%s\n", name);
和:
puts(name);
是等价的。所以前面字符指针变量中:
printf("%s\n", string);
也可以直接写成:
puts(string);
我们写一个程序来验证一下:
# include <stdio.h>
int main(void)
{
char *string = "I Love You China!";
puts(string);
return 0;
}
输出结果是:I Love You China!
但是 puts() 和 printf() 相比也有一个小小的缺陷,就是如果 puts() 后面的参数是字符指针变量或字符数组,那么括号中除了字符指针变量名或字符数组名之外什么都不能写。比如 printf() 可以这样写:
printf("输出结果是:%s\n", str);
而 puts() 就不能使用如下写法:
puts(输出结果是:str);
因此,puts() 虽然简单、方便,但也仅限于输出字符串,功能还是没有 printf() 强大。