C语言如何修复我的调用函数

C语言如何修复我的调用函数,c,arrays,function,vector,C,Arrays,Function,Vector,我添加了一个void函数和一个int函数。void函数工作得很好,但是int函数将不工作,因为它需要一个return,所以我确信会包含一个return。我想这跟我的电话有点关系。我在这里错过了什么或做错了什么?提前感谢您的帮助 #include <stdio.h> void multi_vec(int v1[], int v2[], int v3[], int n); int comp_vec(int v1[], int v2[], int n); int main(){ i

我添加了一个void函数和一个int函数。void函数工作得很好,但是int函数将不工作,因为它需要一个return,所以我确信会包含一个return。我想这跟我的电话有点关系。我在这里错过了什么或做错了什么?提前感谢您的帮助

#include <stdio.h>

void multi_vec(int v1[], int v2[], int v3[], int n);

int comp_vec(int v1[], int v2[], int n);

int main(){

int n = 0;
int i = 0;

printf("Enter the length of the vectors: ");
scanf("%d",&n);

int v1[n];
int v2[n];
int v3[n];

printf("Enter the first vector: ");
for(i = 0; i < n; i++){
    scanf("%d",&v1[i]);
    }

printf("Enter the second vector");
for(i = 0; i < n; i++){
    scanf("%d",&v2[i]);
    }

multi_vec(v1, v2, v3, n);

printf("The multiplication of the vectors is: ");
for(i = 0; i < n; i++){
    printf("%d",v3[i]);
    printf(" ");
    }

int compare;
compare = comp_vec(v1,v2,v3,n); //this is where I think I went wrong

}

void multi_vec(int v1[], int v2[], int v3[], int n){

int i;

for(i = 0; i < n; i++){

    v3[i] = v1[i] * v2[i];

    }
}
int comp_vec(int v1[], int v2[], int v3[], int n){

int i;

for(i=0; i < n; i++){
    if(v1[i] != v2[i]){
    printf("not the same");
    return 0;
    }

    else{
    printf("are the same");
    return 0;
    }
}
} 
#包括
无效多向量(int v1[],int v2[],int v3[],int n);
内部比较向量(内部v1[],内部v2[],内部n);
int main(){
int n=0;
int i=0;
printf(“输入向量的长度:”);
scanf(“%d”和“&n”);
int v1[n];
int v2[n];
int v3[n];
printf(“输入第一个向量:”);
对于(i=0;i
comp\u vec的原型与定义不匹配

宣言:

int comp_vec(int v1[], int v2[], int n);
定义:

int comp_vec(int v1[], int v2[], int v3[], int n){

更改声明以匹配定义,您应该可以。

comp_vec的原型与定义不匹配

宣言:

int comp_vec(int v1[], int v2[], int n);
定义:

int comp_vec(int v1[], int v2[], int v3[], int n){

更改声明以匹配定义,您应该可以。

函数声明

int comp_vec(int v1[], int v2[], int n); //3 param
与函数定义不匹配

int comp_vec(int v1[], int v2[], int v3[], int n){ // 4 param

函数声明

int comp_vec(int v1[], int v2[], int n); //3 param
与函数定义不匹配

int comp_vec(int v1[], int v2[], int v3[], int n){ // 4 param

什么不起作用?有人否决了这个问题,为什么?这是一个相当合理的问题。可能会有一个编译器诊断,而你没有在问题中报告。什么不起作用?有人否决了这个问题,为什么?这是一个相当合理的问题。可能会有一个编译器诊断,而你没有在你的问题中报告。我甚至没有注意到,我对你的答案投了更高的票。我甚至没有注意到,我对你的答案投了更高的票。哇,我太傻了,谢谢你在我拔完头发之前的洞察力@SgtOVERKILL:这种情况偶尔会发生;-)不用客气。哇,我真傻,谢谢你在我拔完头发之前的洞察力@SgtOVERKILL:这种情况偶尔会发生;-)不客气。