vc++printf(0)报错为什么网络上还有说不报错
时间: 2023-12-07 10:06:11 浏览: 74
STM32在C++上重定向printf,亲测能用
在 VC++ 中,printf 是一个标准库函数,它的正确使用方式应该是 printf("format string", arguments)。其中,format string 是一个字符串,用来指定输出的格式,arguments 则是可选的参数,用来填充 format string 中的占位符。
如果你在 printf 中传入了一个非法的参数,比如一个空指针或一个未定义的变量,就会触发 undefined behavior,这意味着程序的行为是未定义的,可能会导致程序崩溃、输出错误的结果,甚至是安全漏洞。
因此,如果你在 printf 中传入了一个数字 0,就会触发 undefined behavior,这是不安全的做法,不能保证程序的正确性。如果有人告诉你 printf(0) 不会报错,那可能是因为他们的编译器实现不同,或者他们使用了一些非标准的技巧来绕过编译器的检查。但这并不意味着这样做是正确的或安全的。
阅读全文