问答详情
源自:4-2 分支结构之简单if-else语句

为何输出表达要先有一个%s\n

http://img.mukewang.com/55f986bf0001bc8903680151.jpg

最后那几个输出项直接输内容不就行了吗?为什么前面要加表示字符串符号的%s

提问者:大袖遮天 2015-09-16 23:13

个回答

  • onemoo
    2015-09-16 23:32:33
    已采纳

    printf的第一个参数是字符串,叫做“格式化字符串”,函数的作用就是将这个字符串输出,并且当字符串中有格式化指示符(%d %f等)时,按照指示将后面的参数放到相应的位置上输出。

    所以你只打算输出一句话时,可以直接写在printf的第一个参数处。 但要注意:这个字符串中不能含有格式化指示,不然函数还是会到后面找参数(而你并没有传其他参数),这会引起问题。

    像图中那样写,格式化字符串的开头就是一个格式化指示符%s,表明后面的参数是一个字符串,printf同样会将这个字符串输出。