[已解决]error: cannot convert `int*' to `int**' for argument `2' to `void print_f(int, i

#include "stdio.h"
#include "stdlib.h"
#include "time.h"

void print_f(int n,int *a[]);    
int main(void)
{
int a[50],i;
printf("编号   数据\n");
srand((int)time(0));
for (i=0;i<20;i++)
{
    a[i] = 1 + (int)(200.0*rand()/(RAND_MAX+1.0));
}
print_f(20,a);
return 0;
}
void print_f(int n,int *a[])
{
    int i;
    for (i=0;i<n;i++)
     printf("%2d. %6d\n",i,a[i]);
}

函数数组参数,要么int a[ ].,要么int *a

a[ ]本身就充当了指针,数组第一项的地址

如果 *a[ ] 那样就变成参数是一个指向int的指针的数组了

上一篇:SpringBoot日期转换器


下一篇:JUC学习篇一:TimeUnit 类的使用