Как я могу получить каждый элемент массива от ввода пользователя, а затем передать его функции в другой файл. У меня возникли проблемы и вам нужна помощь. Это мой код.Как получить каждый элемент массива от пользовательского ввода, затем передать его функции в другой файл в C
main.c
#include <stdio.h>
#include "lab8.h"
int x[100];
int y[100];
int main(void) {
int count, i, product;
printf("Enter the length of both arrays\n");
scanf("%d", &count);
printf("Enter the first array's elements\n");
for(i=0; i<count; i++){
scanf("%i", &x[i]);
}
printf("Element: %i\n", x[i]);
printf("Enter the second array's elements\n");
for(i=0; i<count; i++){
scanf("%i", &y[i]);
}
product = inner_product(x, y, count);
printf("Inner product: %i\n", product);
return(0);
}
lab8.c
#include <stdio.h>
#include "lab8.h"
int inner_product(int a[], int b[], int count) {
int i;
int result = 0;
for(i=1; i<count; i++) {
result = result + (a[i] * b[i]);
}
return result;
}
только кажется умножают последний элемент ввода для ввода обоих массивов ЭРВО выхода.
Enter the length of both arrays
2
Enter the first array's elements
1
2
Element: 0
Enter the second array's elements
3
3
Inner product: 6
Вы знаете, поскольку имя функции является 'inner_product()' Я предполагаю, что вы студент физики, как тот, который можно использовать для «maple», где массивы индексируются от «1» до «N» или, возможно, pascal', который я не помню, если он слишком индексирует массивы таким образом, в c от «0» до «N-1», и я полагаю, что это связано с арифметикой указателя. –
Computer science major. И спасибо за помощь. Поэтому я не должен использовать глобальные переменные x и y? – user4766244
Нет, это плохая идея вообще, только в особых ситуациях глобальные переменные в порядке. Но в вашем случае они вам даже не нужны. –