c语言 puts 和 printf的区别

     puts() 只用来输出字符串,就算只有一个字母“a” ,也会当成一个字符串。

因为字符串的最后一项默认为   “\0”  (字符串终止符的标志),

而puts()遇到  \0  会输出 \n!!!

也就是说,puts(s) 和 printf("%s\n",s) 的输出格式是一样的。

    printf()的输出格式很多,可以根据不懂得需要加转义字符,达到格式化输出。



puts()的参数可以直接是字符串,如puts("abcd");

               也可以是变量名, 如 a = “abcd”; puts(a); 有换行

printf()的参数也可以直接是字符串,如printf("abcd");

               要实现换行必须printf("%s\n",a);




  上面说到  ,puts()遇到 \0 会输出 \n , 那么直接 puts("")是不是输出换行呢?

答案是肯定的!!!

 那么  ,puts("\0")是输出两个换行吗??

经过测试,并不是这样!!!

想要输出两个换行,是puts("\n")!!


原因:  \0是字符串结束的标志,之后的字符也都不读取!!

puts("\n"); 先读取 \n  再读取  \0; 而puts("\0"); 读取 \0 之后 ,下一个  \0 就不再读取了,所以只有一个换行。

 

你可能感兴趣的:(函数用法)