Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/09/2011, 05:08
markmb
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 7 meses
Puntos: 10
Punteros en C

Hola a todos, estoy empezando en C (luego me meteré en C++) y estoy practicando con unos ejercicios que he encontrado por ahí. Ahora mismo tengo problemas con punteros:
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(void){
  5.     char entrada[100];
  6.     char *ult=entrada;
  7.     char cantidadstr[10];
  8.     int i,j,k = 0;
  9.     int res;
  10.  
  11.     scanf ("%s",entrada);
  12.    
  13.     printf ("Hola %s",ult);
  14.     while (*ult != "\0"){
  15.         if(*ult == "\n"){
  16.             if(i != 0){
  17.                 printf("\n");
  18.             }
  19.             i++;
  20.             j = 0;
  21.         }
  22.         else if(i != 0){
  23.             if(*ult == " "){
  24.                 j++;
  25.                 k=0;
  26.                 res = atoi(cantidadstr);
  27.                 printf("%d ",i);
  28.                 cantidadstr[10] = '\0';            
  29.             }
  30.             else if(j != 0){
  31.                 cantidadstr[k] = *ult;
  32.             }
  33.            
  34.         }
  35.         k++;
  36.         *ult++;
  37.     }
  38.     return 0;
  39. }

El puntero ult da problemas. Al compilar me salen warnings, sobre comparar punteros con int, pero el problema gordo, es que al ejecutar e insertar la cadena, me salta "Violación de segmento".

Por lo que he visto después de toda la mañana intentando arreglarlo, el error se sitúa en el printf primero, al llamar a ult.

Gracias de antemano!
__________________
Buscando ideas para proyectos....

Esperando a tener 18 años....