两个printf一样,为什么少一个%

img


两个printf一样,为什么少一个%,还请各位学长抽空解答下。

因为后面的字符串替换掉了前面字符串中的%s了
printf语句中,第一个字符串参数中的%s是格式符,表明用后面的第一个参数字符串替代输出。而后面的字符串是"%s ! C is Cool !\n",这里的%s只是普通字符。
所以最终输出字符串就是 "%s ! C is Cool !\n ! C is Cool!\n",由于\n是换行符,所以输出了书中的两行字符串

前面的%s被后面字符串替换了,你如果对字符串指针有所了解的话更容易就知道了

img

给你找了一篇非常好的博客,你可以看看是否有帮助,链接:printf系列教程00_概述printf各种打印输出方法和相关内容
同时,你还可以查看手册:c语言-printf() 中的内容