RE:array de caracteres a entero
Reciban un saludo Sergio y Chuidiang.
No creo que este por demás mecionar otra forma de poner un caracter nulo al final de una array, se puede hacer con NULL, la definición de NULL se encuentra en las librerías stdio.h y stdlib.h.
Sin embargo un compañero me meciono que dependiendo del compilador NULL podría no siempre estar definido, así que es mejor el método de Chuidiang.
Por último el valor del caracter nulo es CERO por lo menos en TC 3.0, aunque suceden cosa interesantes si cambiamos la forma de visualizarlo
printf("El valor de null: %i", NULL);
printf("El valor de null: %s", NULL);
printf("El valor de null: %c", NULL);
La confusión está en que debemos trabajar con caracteres para hacer la comparación con un caracter nulo, si en el ejemplo siguiente cambiamos el tipo de dato del array data[4] de "char" a "int" los resultados serán muy diferentes.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main(int)
{ clrscr();
char data[4]={'0','1','2',NULL}; /*Cambiar a int*/
int i;
i=0;
while(data[i]!=NULL)
{
printf("EL dato %c \n",data[i]); /*Cambiar a %i*/
i++;
}
getch();
return(0);
}