新手求大神来解惑~

Ashimial 2013-03-31 10:55:56
int[] array1 = { 5, 6, 7, 45, 76, 34 };
int[] array2 = { 6, 78, 9, 54, 6, 7 };
int[] array3 = new int[12];
int j = 0, k = 0,i=0;
for (int i = 0; i < array1.Length + array2.Length ; i++)
{

if (array1[j] <= array2[k])
{
array3[i] = array1[j];
j++;
}
else if (array1[j] > array2[k])
{
array3[i] = array2[k];
k++;
}
else
{
array3[i] = array1[j];
i++;
j++;
array3[i] = array2[k];
k++;
}

}
为什么代码运行后,报错“索引超出了数组界限。” 求解答~
...全文
152 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
言多必失 2013-04-02
  • 打赏
  • 举报
回复
错误真不少。
iceMung 2013-04-01
  • 打赏
  • 举报
回复
你先明确自己要做什么,然后,再重新下设计代码吧。
LemonSmile_ 2013-04-01
  • 打赏
  • 举报
回复
array1[j] 不是大于等于就是小于 array2[k] 怎么会还有一个else选择呢?
modishizhe 2013-04-01
  • 打赏
  • 举报
回复
错误很多,建议for循环的时候加入断点,逐个看错误出现在哪里
wssjlx 2013-04-01
  • 打赏
  • 举报
回复
错误实在太多了
stonespace 2013-04-01
  • 打赏
  • 举报
回复
设置断点单步跟踪吧,错误太多,
superliu1122 2013-03-31
  • 打赏
  • 举报
回复
逻辑明显混乱 自己看吧,当k=1时会发生什么
threenewbee 2013-03-31
  • 打赏
  • 举报
回复
j和k都可能相加超过6导致数组越界。自己调试下。

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧