一、问题
puts( )函数是专门⽤于字符串输出的函数,printf( )函数的%s 格式也可以输出字符串,⼆者是否完全相同?怎样区分使⽤这两个函数?
二、解答
(1)printf( )函数可以输出各种类型,并且⼀次可以输出多项。puts( )函数只能输出字符串,⼀次只能输出⼀个字符串。
(2)在它们都只输出⼀个字符串的区别可以由下⾯的例⼦看出。
char a[80] = "hello";
char b[80] = "world";
printf("%s",a);
printf("%s",b);
输出结果为:
hello world
如果把两个 printf 改为 puts,即:
puts(a);
puts(b);
结果为:
hello
world
printf( )与 puts( )两个函数的区别在于,puts( )输出后具有⾃动换⾏的功能,⽽ printf( )函数只有输⼊" \n "才能换⾏,即:
puts(a)相当于 printf("%s\n",a);
三、总结
puts( )函数在输出字符串时,不具有 printf( )函数⽆法完成的功能。这点与 gets( )和 scanf( )的区别不同,所以只要会⽤ printf( )函数,就可以解决所有字符串输出问题。