建议使用以下哪项?
printf("DON>");
或
const char prompt[] = "DON>";
printf("%s", prompt);
有什么区别?
答案 0 :(得分:7)
区别在于printf("DON>")
扫描%
个字符的输入并将其解释为格式。例如,如果您想输出DON%
提示,则必须将其拼写为printf("DON%%")
。当使用printf
显示短字符串文字时,这不是问题 - 甚至在 C编程语言的开头的标志性hello world
示例中进行调用。< / p>
如果要将字符串定义与打印分开,如第二个示例所示,%s
格式是文字打印的首选。这既是为了避免引用%
,也是为了使代码更易于维护,方法是让人类读者明白字符串是按字面打印的。您也可以使用fputs(prompt, stdout)
,但不能使用puts(prompt)
,因为后者也会发出不受欢迎的换行符。
答案 1 :(得分:2)