Y_csgoto 2019-05-16 20:17 采纳率: 57.1%
浏览 1146
已采纳

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

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

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

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-05-16 20:52
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?