Извините, если заголовок все еще неоднозначен.Передача значений модифицированного массива обратно в главную функцию в C
Я выполняю это задание для школы, а ниже - мои прототипы определенных функций, основная функция и функция change_array.
Общая цель этой программы - позволить пользователям вводить 5 разных номеров и храниться в массиве. Тогда, что делает функция change_array, нужно удвоить (умножить на 2) любые числа, которые ниже 10, однако в настоящее время он не выполняет то, что он предназначен. Я действительно застрял, поэтому мне было интересно, может ли кто-нибудь указать на мои ошибки. Я не требую точного ответа, мне просто нужны указатели и рекомендации.
Неправильно то, что функция change_array не изменяет ни одного из значений, заданных пользователями. Например, если пользователь вводит «3, 5, 6, 12, 32», выход моей программы по-прежнему «3, 5, 6, 12, 32». Но я действительно хочу, «6, 10, 12, 12, 32» после того, как массивы будут возвращены из функции change_array.
EDITED с полной программой:
#include <stdio.h>
#define SIZE 5
void fill_array(double x[], int s);
void change_array(double x[], int s);
void print_array(double x[], int s);
main()
{
double x[SIZE];
fill_array(x, SIZE);
printf("The array is as: \n");
print_array(x, SIZE);
change_array(x, SIZE);
printf("After change, the array is: \n");
print_array(x, SIZE);
}
void fill_array(double x[], int s)
{
int i=0;
printf("Please input 5 Non-Negative double numbers\n");
for (i=0; i<s; i++) {
printf("Number %d: ", i+1);
scanf("%d", &x[i]);
printf("\n");
}
}
void change_array(double x[], int s)
{
int i=0;
for (i=0; i<s; i++) {
if (x[i] < 10) {
(x[i] = (x[i] * 2));
}
}
}
void print_array(double x[], int s)
{
int i=0;
for (i=0; i<s; i++) {
printf("%ld \t", x[i]);
}
printf("\n");
}
Мой код написан на C.
'change_array' действительно изменяет массив, чтобы модификация была видимой для вызывающего. Вам нужно опубликовать реальный код, желательно полную программу. –
Только что отправил, спасибо. –
ОК, новый код дает понять, что проблема - это просто строка формата printf. –