[quote=引用 3 楼 cfjtaishan 的回复:] [quote=引用 2 楼 lin5161678 的回复:] unsigned char 1个字节 假设 int 4个字节 scanf %d 会向参数指定的内存写入4个字节的数据 但chosse只有1个字节 所以有3个字节是越界写入 这里刚刚好写到了 P_page的内存里面了 修改了P_page的数据 所以 scanf 格式控制字符 要和参数的类型 对应 所以 不要出现数组越界的操作
[quote=引用 2 楼 lin5161678 的回复:] unsigned char 1个字节 假设 int 4个字节 scanf %d 会向参数指定的内存写入4个字节的数据 但chosse只有1个字节 所以有3个字节是越界写入 这里刚刚好写到了 P_page的内存里面了 修改了P_page的数据 所以 scanf 格式控制字符 要和参数的类型 对应 所以 不要出现数组越界的操作
unsigned char 1个字节 假设 int 4个字节 scanf %d 会向参数指定的内存写入4个字节的数据 但chosse只有1个字节 所以有3个字节是越界写入 这里刚刚好写到了 P_page的内存里面了 修改了P_page的数据 所以 scanf 格式控制字符 要和参数的类型 对应 所以 不要出现数组越界的操作
70,020
社区成员
243,265
社区内容
加载中
试试用AI创作助手写篇文章吧