Facing segmentation fault in the following code . Can anyone help me fix it?
#include<stdio.h>
int* multiply(int *arr1, int *arr2, int m);
int main(void){
int m = 0;
printf("Enter size of array1 and array2 >");
scanf("%d",&m);
int arr1[m], arr2[m];
printf("First array>");
for(int i = 0; i < m; ++i){
scanf("%d", &arr1[i]);
}
printf("Second array> ");
for(int j = 0; j < m; j++)
scanf("%d", &arr2[j]);
int* result = multiply(arr1, arr2, m);
for(int i = 0; i < m; ++i){
printf("%d ", result[i]);
}
}
int* multiply(int *arr1, int *arr2, int m){
int res[m];
printf("ok");
for(int i = 0; i < m; ++i){
res[i] = arr1[i] + arr2[i];
}
printf("ok");
return res;
}
Output should show like
Enter size of array1 and array2 >3
First array>5 1 7
Second array> 2 4 2
The resultant > 7 5 9
My output
Enter size of array1 and array2 >3
First array>5 1 7
Second array> 2 4 2
Segmentation fault