3条回答 默认 最新
- 柯本 2017-02-28 07:12关注
你的这个结果是"不可预见的"
"m"是常量字串,而s2[1]是字符,也就是一个可扩展的int值
常量串+int,它是一个指针的运算
若"m"的地址为
0x489001 加上 s2[1]后
地址为:
0x489067
你的s1等于指向0x489067地址的内容
所以结果可能是任意的,也可能是内存出错解决 无用评论 打赏 举报
你的这个结果是"不可预见的"
"m"是常量字串,而s2[1]是字符,也就是一个可扩展的int值
常量串+int,它是一个指针的运算
若"m"的地址为
0x489001 加上 s2[1]后
地址为:
0x489067
你的s1等于指向0x489067地址的内容
所以结果可能是任意的,也可能是内存出错