考试遇到的一道题 不是太清楚解法
main(){ int m,n,s[10],t[4],sum=0;
for(m=0;m<10;m++) s[m]=m;
for(m=0;m<4;m++) t[m]=s[m*m+1];
for(m=0;m<4;m++) sum+=t[m]*t[m];
printf("%d\n",sum);}
题目要求写结果
上机做一下有结果 但我觉得当m=3时 根据"for(m=0;m<4;m++) t[m]=s[m*m+1];"得出t[3]=s[10] 但是s数组最大是s[9]啊 怎么解释啊?
高手帮忙指点一下吧
----------------解决方案--------------------------------------------------------
“广告”
----------------解决方案--------------------------------------------------------
数组下标已经溢出了, 有结果但结果肯定是错的
----------------解决方案--------------------------------------------------------
结果为39,为什么?
----------------解决方案--------------------------------------------------------
可能是个随机值...
----------------解决方案--------------------------------------------------------
for(m=0;m<4;m++) t[m]=s[m*m+1];
这个地方有问题.
----------------解决方案--------------------------------------------------------
我最讨厌做老师出的这种没有意思的题目
----------------解决方案--------------------------------------------------------
恩 的确是出错了 所以那道题不记分了
哈哈
----------------解决方案--------------------------------------------------------
s[10] // 定义这个数组是10个元素的,单元素数组
下标从0开始
0,1,2,3,4,5,6,7,8,9 刚好10个数
----------------解决方案--------------------------------------------------------