【发布时间】:2021-11-29 13:44:59
【问题描述】:
我想将a1 和a2 添加到第三个数组a3。但是,它无法正常工作。
运行以下代码时,输出为:
1 2 3 4 5 5 88237492 23928392 23234242 343344.
这是为什么呢?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 30
int main(){
int a1[]={1,2,3,4,5};
int a2[]={1,2,3,4,5};
int a3[10];
int i=0;
int k=0;
int j=0;
while(i<sizeof(a1)/sizeof(int))
{
a3[i]=a1[i];
i++;
}
while(j<sizeof(a2)/sizeof(int))
{
a3[i]=a2[j];
j++;
}
while(k<sizeof(a3)/sizeof(int))
{
printf("%d ",a3[k]);
k++;
}
return 0;
}
【问题讨论】:
-
您忘记 (?) 在第二个
while循环(使用j索引的循环)中增加i。 -
在第二个 while 循环中,在增加 j (j++) 之后尝试增加 i (i++)
-
调试失败:(您应该学习如何使用调试器,或者至少了解您可以打印出重要变量的值,例如数组索引。
标签: arrays c algorithm for-loop indexing