Linux - Ayuda.. Para C

 
Vista:

Ayuda.. Para C

Publicado por xmms (venezuela) (1 intervención) el 03/05/2006 05:51:50
Hola a todos.. por favor check este codigo, me esta dando errores, y nose por que; estos son los errores:
Funcion "Inicializar"
*comparacion entre puntero y entero.
Funcion "main"
*El peso del argumento 1 de "inicializar" crea un puntero desde un entero sin conversion.


#include <stdio.h>
#include <string.h>
#define N 9

void inicializar(int vector[N][N])

{
int i,j;

for (i=0;i<vector[N];i++)
{
for (j=0;j<vector[N];j++)
vector[i][j]=0;
}

}
main ()
{
int j,i;
int vector[N][N];

inicializar (vector[N][N]);
for (j=0;j<N;j++)
{
for (i=0; i<N;i++)
printf ("%s/n",vector[N][N]);
}

}


Gracias de Antemano...
atte: XMMS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda.. Para C

Publicado por n0str0m0 (1503 intervenciones) el 03/05/2006 08:16:19
Lo que te está dando son warnings, no errores. Si fueran errores no compilaría.

El caso es que empezando por la función inicializar, en los for estás comparando sólo un vector, cuando lo que tienes declarada es una matriz. El compilador espera algo como vector[5][7] y tú estás haciendo vector[5] ¿y con qué comparo? con la fila cinco, pero ¿de qué columna?

Lo mismo te pasa en el otro bucle.

Sobre el otro warning:
Cuando llamas a la función inicializar estás pasando un entero. En concreto el valor de vector[N][N] que será lo que sea... por ejemplo 27. Pero en la declaración de inicializa tienes declarada una matriz.

Échale un vistazo a alguno de los cursos de C que hay en esta página para ver algunos ejemplos.

Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar