在C语言编译时,可以以字符型输出整数,以整数型输出字符但是为什么以字符串型(%s)输出一个整数时,虽然编译器不会报错,但是运行时程序会崩溃?
如果说一个字符串在标准化输入输出时传递的是首地址,那么以整数型输出首地址应该也没问题呀?求大佬解答
因为 %s 输出的是字符串,而字符串有多少个字符,取决于它最后的\0结束标志。你传入整数,那么它会一直读取内存,直到遇到\0,这会导致它读取到不该读取的内存区域,这样就崩溃了。