Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/12/2012, 11:12
cesar_casla
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 10 meses
Puntos: 94
Respuesta: no se resolver este programa

Hola! el problema lo tenes con el manejo de cadenas
Código C:
Ver original
  1. palabras[TAM]=argv[i];
con esto estas intentando guardar un puntero en la ultima posicion del arreglo, lo cual esta mal
Código C:
Ver original
  1. cuentaCaracteres(palabras[TAM]);
estas pasando mal el arreglo a la funcion
Código C:
Ver original
  1. while (palabra[TAM]!='\0')
aca estas usando mal el indice, no deberia ser TAM



Quedaria algo asi:
Código C:
Ver original
  1. int main(int argc, char *argv[])
  2. {
  3.   int i=0;
  4.   int caracteres=0;
  5.  
  6.   for (i=1; i<argc; i++)
  7.   {
  8.    caracteres= cuentaCaracteres(argv[i]);
  9.     printf(T_CARACTERES, argc, caracteres);
  10.  
  11.   }
  12.  
  13. return 0;
  14.  
  15. }
  16.  
  17.  
  18. int cuentaCaracteres (char palabra[TAM])
  19. {
  20.   int result=0;
  21.  
  22.  
  23.   while (palabra[result]!='\0')
  24.   {
  25.     result++;
  26.   }
  27.  
  28.   return result;
  29.  
  30. }

Saludos

PD: mi consejo es que practiques con cosas mas basicas antes de seguir con esto