为什么是这样的结果呢??

来源:百度知道 编辑:UC知道 时间:2024/05/29 20:05:15
:#include<iostream.h>
main()
{
int p[11];
int k;

for(k=0;k<11;k++)
p[k]=k;

cout<<p[k];
}
运行结果是1245120,我觉得应该是10啊

#include<iostream>
using namespace std;
void main()
{
int p[11];
int k;

for(k=0;k<11;k++)
p[k]=k;
cout<<k<<endl;//为什么会退出循环呢?因为k已经不满足<11的条件了,为什么不能满足呢?因为他自己已经是11了。所以输出随机地址,你把这个语句添加进去就可以看到了。

cout<<p[k];
}

你把cout<<p[k]改为p[k-1]就是你要的结果了
因为当for循环结束时 k为11
最后输出p[k]就是p[11]了

你这个题挺神奇的 我把int p[11],k; 写在1行时就得出结果是11 先声明p[11] 第二行声明k 就得出结果1245120 我也不知道为什么了