Я запустил другую ветку для этого, я попытался решить ее с помощью помощи, которую они мне оказали, но я не могу запустить программу. Может кто-нибудь сказать мне, что не так в программе и как это должно быть? Спасибо.
Предполагается, что программа добавляет к себе массив и заменяет оригинал суммой, поэтому при печати исходного массива печатается сумма. Это то, что я сделал до сих пор.
Обратите внимание, что необходимо использовать ADDER (a, a) в качестве вызова функции. Мне не разрешено это менять. Оба параметра должны быть переданы по ссылке.
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int size; //global variable
void ADDER(int *a, int *b) {
int i;
for (i = 0; i < size; i++) {
b[i] += a[i];
}
}
int main() {
int n, i;
printf("Enter the number of elements: ");
scanf("%d", &n);
int *a = (int *)malloc(n*sizeof(int));
int *b;
for (i=0; i<n; i++) {
printf("Enter element number %d: ", i);
scanf("%d", &a[i]);
}
ADDER(a,a);
for (i=0; i<n; i++) {
printf("%d", a[i]);
}
}
Ошибка:
1> ------ Началась сборка: Проект: adderTest, Конфигурация: Отладка Win32 ------
1> adder.c
1> e: \ Мои документы \ Visual Studio 2010 \ projects \ addertest \ addertest \ adder.c (17): предупреждение C4996: 'scanf': эта функция или переменная может быть небезопасной. Попробуйте вместо этого использовать scanf_s. Чтобы отключить устаревание, используйте _CRT_SECURE_NO_WARNINGS. Для получения подробной информации см. Интерактивную справку.
1> e: \ program files \ microsoft visual studio 10.0 \ vc \ include \ stdio.h (304): см. Объявление 'scanf'
1> e: \ Мои документы \ Visual Studio 2010 \ projects \ addertest \ addertest \ adder.c (18): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед «типом»
1> e: \ Мои документы \ Visual Studio 2010 \ projects \ addertest \ addertest \ adder.c (19): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед «тип»
1> e: \ Мои документы \ Visual Studio 2010 \ projects \ addertest \ addertest \ adder.c (22): ошибка C2065: 'a': необъявленный идентификатор
1> e: \ Мои документы \ Visual Studio 2010 \ projects \ addertest \ addertest \ adder.c (22): ошибка C2109: для индекса требуется массив или указатель типа
1> e: \ Мои документы \ Visual Studio 2010 \ projects \ addertest \ addertest \ adder.c (24): ошибка C2065: 'a': необъявленный идентификатор
1> e: \ Мои документы \ Visual Studio 2010 \ projects \ addertest \ addertest \ adder.c (24): предупреждение C4047: 'function': 'int *' отличается по степени косвенности от 'int'
1> e: \ мои документы \ visual studio 2010 \ projects \ addertest \ addertest \ adder.c (24): предупреждение C4024: 'ADDER': разные типы для формального и фактического параметра 1
1> e: \ Мои документы \ Visual Studio 2010 \ projects \ addertest \ addertest \ adder.c (24): ошибка C2065: 'a': необъявленный идентификатор
1> e: \ мои документы \ visual studio 2010 \ projects \ addertest \ addertest \ adder.c (24): предупреждение C4047: 'function': 'int *' отличается по уровням косвенности от 'int'
1> e: \ мои документы \ visual studio 2010 \ projects \ addertest \ addertest \ adder.c (24): предупреждение C4024: 'ADDER': разные типы для формального и фактического параметра 2
1> e: \ Мои документы \ Visual Studio 2010 \ projects \ addertest \ addertest \ adder.c (26): ошибка C2065: 'a': необъявленный идентификатор
1> e: \ Мои документы \ Visual Studio 2010 \ projects \ addertest \ addertest \ adder.c (26): ошибка C2109: для индекса требуется массив или указатель типа
========== Построение: 0 выполнено, 1 не выполнено, 0 обновлено, 0 пропущено ==========