为什么不能以%s输出整数?

在C语言编译时,可以以字符型输出整数,以整数型输出字符
但是为什么以字符串型(%s)输出一个整数时,虽然编译器不会报错,但是运行时程序会崩溃?

如果说一个字符串在标准化输入输出时传递的是首地址,那么以整数型输出首地址应该也没问题呀?
求大佬解答

因为 %s 输出的是字符串,而字符串有多少个字符,取决于它最后的\0结束标志。你传入整数,那么它会一直读取内存,直到遇到\0,这会导致它读取到不该读取的内存区域,这样就崩溃了。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^