这是我的代码。 main
应该只有调用函数。 testcases()
调用通过该程序运行的测试用例。
#include<stdio.h>
#include"conio.h"
int main()
{
testcases();
}
struct test {
int a[10];
} testDB[5] = {
{1,2,3,4,5,6},
{7,8,9,0,1,2,3,4}
};
void testcases()
{
int i;
for(i=0;i<2;i++)
displaytest(testDB[i].a);
}
displaytest(char *a)
{
int i=0;
while(a[i]!='\0')
{
printf("%d\n",a[i]);
i++;
}
}
我想显示两个数组。但我只得到第一个索引。 有人可以帮忙吗?
答案 0 :(得分:0)
您传递的参数不合适;
displaytest(char *a) --> void displaytest(int *a)
编辑:您的while循环无法正常工作,如第一条评论中所述。
答案 1 :(得分:0)
您无法像while(a[i]!='\0')
您必须将数组的大小作为第二个参数传递。
void displaytest(int *a, int size)
{
int i = 0;
while (i < size/sizeof(int))
{
printf("%d\n", a[i]);
i++;
}
}
打电话时,你可以这样打电话......
displaytest(testDB[i].a, sizeof(testDB[i].a));