Sugiero que cambies esta linea:
por estas :
Código C++:
Ver originalif( k >= 10 ) {
printf( "Problemas en indice k, " "no puede ser mayor o igual que 10 para que este programa funcione bien\n" );
}
else {
cantidadstr[k] = *ult;
}
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.