Задание: напишите функцию, которая обнуляет массив - C (СИ)
Формулировка задачи:
Я написал так:
Не работает. Подскажите, пожалуйста, что я сделал не так.
#include <stdio.h>
const int N = 5;
int zerMas ( int *a, const int *N )
{
int i;
for (i=0; i < N; i++)
a[i] = 0;
}
main()
{
int a[N];
int i;
for(i=0; i<N; i++)
{
printf("a[%d] = ", i);
scanf("%d", &a[i]);
}
zerMas (a, &N);
for(i=0;i<N;i++)
{
printf("%d \n", a[i]);
}
return 0;
}Решение задачи: «Задание: напишите функцию, которая обнуляет массив»
textual
Листинг программы
#include <stdio.h>
const int N = 5;
int zerMas ( int *a, const int *N )
{
int i;
for (i=0; i < *N; i++)
a[i] = 0;
}
main()
{
int a[N];
int i;
for(i=0; i<N; i++)
{
printf("a[%d] = ", i);
scanf("%d", &a[i]);
}
zerMas (a, &N);
for(i=0;i<N;i++)
{
printf("%d \n", a[i]);
}
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек: #include
- Объявление константы N со значением 5: const int N = 5;
- Объявление функции zerMas, которая принимает два аргумента: указатель на массив и указатель на константу N: int zerMas ( int a, const int N )
- Объявление переменной i в функции main(): int i;
- Инициализация массива a с помощью цикла for и функции scanf(): for(i=0; i<N; i++)
{
printf(
a[%d] =, i); scanf(%d, &a[i]); } - Вызов функции zerMas, которая обнуляет массив a: zerMas (a, &N);
- Вывод обнуленного массива с помощью цикла for и функции printf(): for(i=0;i<N;i++)
{
printf(
%d \n, a[i]); } - Возврат 0 в функции main(), чтобы указать на успешный конец работы программы: return 0;