请看下面的两个c语句
printf("a very long string");
printf("%s","a very long string");
它们产生相同的结果,但在幕后肯定有一些不同,那么有什么不同,哪个是更好 ?请分享您的想法!
最佳答案
如果你知道字符串内容是什么,你应该使用第一种形式,因为它更紧凑。如果要打印的字符串可能来自用户或任何其他来源,以至于您不知道字符串内容是什么,则必须使用第二种形式;否则,您的代码将对 format string injection attacks 开放.
关于两个printf语句的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6764369/