社区
C++ 语言
帖子详情
看下这个小问题:为什么输出是...6789678967896789....
烟火......
2005-05-01 12:09:45
#include<iostream>
void main()
{
int N(0);
int m[9][4];
while(N++<10)
{
cout<<N<<' ';
m[N][0]=5;
cout<<endl;
}
}
...全文
124
6
打赏
收藏
看下这个小问题:为什么输出是...6789678967896789....
#include void main() { int N(0); int m[9][4]; while(N++<10) { cout<<N<<' '; m[N][0]=5; cout<<endl; } }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
烟火......
2005-05-01
打赏
举报
回复
N &N &m[n][0]
6 0012FF74 0012FF44
7 0012FF74 0012FF54
8 0012FF74 0012FF64
9 0012FF74 0012FF74
************************************
原来是N的地址接和m[9][0]地址一样
烟火......
2005-05-01
打赏
举报
回复
而如果是改为用一维数组 int m[9]..... m[N]=5;....虽然也是越界,程序却不会出错(若输出的话,m[9]也等于5;)
useresu
2005-05-01
打赏
举报
回复
++此处是后置运算符,先把9做为N<10判断后,才给N++的,
数组越界,
导致内存出错了,
可能刚好m[10][0],跟N的位置冲突了.
烟火......
2005-05-01
打赏
举报
回复
#include<iostream>
using namespace std;
我复制的时候弄错了,本来是有**std这一行的,问题是为什么当N为9时,m[N][0]=5这句就会使N变成5?
useresu
2005-05-01
打赏
举报
回复
数组越界了
因为N = 9时,
while(N++< 10)依旧成立,
循环体中N 已经等于10了,导致数组越界
cppprogramlover
2005-05-01
打赏
举报
回复
少了std
也不会出现那种结果,应该
熊工工具箱,CAD拆图,solidworks K因子计算
代码下载地址: https://pan.quark.cn/s/cb5096175d2f 熊工工具箱 能够应用于CAD拆图过程中 K因子计算 solidworks 内部相加的尺寸与板厚 以便获取展开长度
政府科技管理者如何利用区域科技创新数智大脑进行精准招商?_2.docx
政府科技管理者如何利用区域科技创新数智大脑进行精准招商?_2
Add core voltage 0.8 V in PWR_3 for BGA SSD ECN-Jun24-2020.pdf
Add core voltage 0.8 V in PWR_3 for BGA SSD ECN-Jun24-2020.pdf
Day03_瀹瑰櫒鏁版嵁绫诲瀷.md
Day03_瀹瑰櫒鏁版嵁绫诲瀷.md
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章