Ver Mensaje Individual
  #6 (permalink)  
Antiguo 15/09/2011, 11:25
CalgaryCorpus
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: Punteros en C

Sugiero que cambies esta linea:
Código C++:
Ver original
  1. cantidadstr[k] = *ult;

por estas :
Código C++:
Ver original
  1. if( k >= 10 ) {
  2.       printf( "Problemas en indice k, "
  3.               "no puede ser mayor o igual que 10 para que este programa funcione bien\n" );
  4.   }
  5.   else {
  6.      cantidadstr[k] = *ult;
  7. }


Una linea previa cantidadstr[10] = '\0'; nunca estará bien, pues el arreglo cantidadstr no tiene 11 posiciones.


Ademas de modificar tu codigo para que la variable "k" nunca tome un valor mayor que (tamaño del arreglo - 1), la comparacion con caracteres se hace usando comillas simples no dobles.

por ejemplo, comparacion de igualdad con caracteres:
variable == 'a'

comparacion para diferente
variable != 'a'

la comilla doble es SIEMPRE para strings literales, nunca es para caracteres literales.