指针类型不兼容,应为float*,但参数的类型为float(*)[2] #定义N 5 #定义NV2 浮动城市[N][Nv]={0,1}、{3,4}、{1,2}、{5,1}、{8,9}; void PrintVec2(float*a,int n){ int i; 对于(i=0;iPrintVec2(&Cities[0][0],N*Nv)值得回答吗?@P_ujsupportswomenipland-如果这是一个真诚的问题,那么是的,这是一个值得回答的问题。在我这方面,这是一个真诚的问题,现在很好,谢谢!! PrintVec2(&Cities[0][0],N*Nv);

指针类型不兼容,应为float*,但参数的类型为float(*)[2] #定义N 5 #定义NV2 浮动城市[N][Nv]={0,1}、{3,4}、{1,2}、{5,1}、{8,9}; void PrintVec2(float*a,int n){ int i; 对于(i=0;iPrintVec2(&Cities[0][0],N*Nv)值得回答吗?@P_ujsupportswomenipland-如果这是一个真诚的问题,那么是的,这是一个值得回答的问题。在我这方面,这是一个真诚的问题,现在很好,谢谢!! PrintVec2(&Cities[0][0],N*Nv);,c,pointers,arguments,C,Pointers,Arguments,New*Nv是一个数字,整数。如何修复此警告?原型: #define N 5 #define Nv 2 float Cities[N][Nv]={ {0,1}, {3,4}, {1,2}, {5,1} ,{8,9}}; void PrintVec2(float *a, int n) { int i; for (i = 0; i < (n / 2); i++) printf("\n%f %f", a[2 * i], a[2 * i + 1]

New*Nv是一个数字,整数。如何修复此警告?

原型:

#define N 5
#define Nv 2

float Cities[N][Nv]={ {0,1}, {3,4}, {1,2}, {5,1} ,{8,9}};
void PrintVec2(float *a, int n) {   
   
    int i;
    for (i = 0; i < (n / 2); i++) printf("\n%f %f", a[2 * i], a[2 * i + 1]);
    printf("\n");
}

//somewhere I call this
PrintVec2(Cities,N*Nv);
与输入参数不匹配:

void PrintVec2(float *a, int n)
函数原型正在查找数组的地址。将其更改为发送
&城市[0][0]

PrintVec2(Cities,N*Nv);

为什么不匹配参数的类型和传递的内容?我似乎不知道如何匹配。您已经展示了如何
PrintVec2(Cities,New*Nv)被调用。现在,请编辑您的帖子,包括
城市的确切声明,展示您如何填充它,提供一个.What is
New
PrintVec2(城市,N*Nv)=>
PrintVec2(&Cities[0][0],N*Nv)值得回答吗?@P_ujsupportswomenipland-如果这是一个真诚的问题,那么是的,这是一个值得回答的问题。在我这方面,这是一个真诚的问题,现在很好,谢谢!!
PrintVec2(&Cities[0][0],N*Nv);