У меня есть программа, которая стремится к тому, чтобы вычислить количество элементов, у которого есть договоренность. Для этого договоренность вводит в функцию contar_elementos, что считает количество элементов и возвращает общее количество. Тема состоит в том, что, когда я пробую mostar контент договоренности, он бросает следующую ошибку:
error: passing argument 1 of 'contar_elementos' makes pointer from integer without a cast [-Wint-conversion]
Как возможно оплачивать недостаток или ошибку?
#include <stdio.h>
#define TAMANIO 12
int contar_elementos(int a[TAMANIO]);
int main()
{
int a[ TAMANIO ] = { 1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45};
printf( "El total de los elementos del arreglo es %d\n", contar_elementos(a[TAMANIO]));
return 0;
}
int contar_elementos(int a[TAMANIO]){
int i, total = 0;
for ( i = 0; i < TAMANIO; i++ ) {
total = total + 1;
}
return total;
}
Лучшее состоит в том, чтобы использовать указатели, которые являются адресами, где они начинают договоренности, quedarГ - в asГ-:
#include <stdio.h>
#define TAMANIO 12
int contar_elementos(int*);
int main()
{
int a[ TAMANIO ] = { 1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45};
int n = (int)contar_elementos(a);
printf( "El total de los elementos del arreglo es %d\n",n );
return 0;
}
int contar_elementos(int* a){
int i, total = 0;
for ( i = 0; i < TAMANIO; i++ ) {
total = total + 1;
}
return total;
}
TambiГ©n может размещать себе один nГєmero негатив в списке, что indicarГ - в конце стоимости vГЎlidos и посредством одной comparaciГіn в for, retornarГ - в nГєmero с элементов до allГ - используя break, чтобы выходить из цикла или прямо return.