打印常量字符串的推荐方法是什么?

时间:2015-11-24 11:45:16

标签: c

建议使用以下哪项?

printf("DON>"); 

const char prompt[] = "DON>";
printf("%s", prompt);  

有什么区别?

2 个答案:

答案 0 :(得分:7)

区别在于printf("DON>")扫描%个字符的输入并将其解释为格式。例如,如果您想输出DON%提示,则必须将其拼写为printf("DON%%")。当使用printf显示短字符串文字时,这不是问题 - 甚至在 C编程语言的开头的标志性hello world示例中进行调用。< / p>

如果要将字符串定义与打印分开,如第二个示例所示,%s格式是文字打印的首选。这既是为了避免引用%,也是为了使代码更易于维护,方法是让人类读者明白字符串是按字面打印的。您也可以使用fputs(prompt, stdout),但不能使用puts(prompt),因为后者也会发出不受欢迎的换行符。

答案 1 :(得分:2)

我相信,如果您不打算在任何地方使用格式说明符,或者您的字符串不包含格式说明符,最好的方法是使用puts()函数。

如果您不希望在输出结尾添加换行符,请使用fputs()

相关问题