Leonardo Ernesto Solórzano Carrasquero
PreguntaPor que el profesor dijo que el \0 se usa para evitar el signo de interrogacion, pero luego solo aumento el tamaño del array y funciono de igual manera?
Fernando Rocha Olivera
Hay una particularidad en las cadenas de caracteres, que siempre debes contar el carácter '\0' al final de una cadena por ejemplo :
Si usamos una cadena de 4 caracteres como es el caso para: char cadena[4] = {'H','O','L','A'} nos muestra el signo de interrogación, esto sucede porque debemos tener en cuenta el carácter '\0' también, es decir debe ser así de la siguiente manera: char cadena[5] = {'H','O','L','A','\0'} es por esta razón que el profesor utilizo su nombre de 19 caracteres sin contar el '\0' y es por eso que le muestra el signo de interrogación y el profesor al aumentar el número de caracteres del array a 20 soluciona el problema.
Jose Adriel Madrigal Gonzalez
Hola, como dice frochaolivera
Existe una diferencia entre no poner el caracter nulo al final de tu arreglo
Y es que C no va a tomar tu arreglo como una cadena, sino le pones al final ese caracter nulo
Solo es un arreglo de caracteres, como un arreglo de enteros si lo quieres ver de esa manera.
Entonces para que C lo interprete como una cadena, se ocupa agregar ese ultimo caracter nulo
Espero te sea de ayuda, buen dia
Ronald Rengifo
Quedé exactamente con la misma duda y no meo como usar el ejemplo usando \0, no me es clara las definiciones de los compañeros
Stiven Andres Arevalo
@ronaldrengifob Revisa bien el ejemplo del compañero @frochaolivera, lo explica bastante bien
José Ignacio
El problema sucede cuando se determina como un arreglo definido, lo que confunde es que el profesor habla del \0 pero no lo escribe en el ejercicio es como si por defecto la cadena contemplara este "carácter(\0") al final y al aumentar en uno la cantidad del arreglo el sistema lee el "carácter (\0)" y se da cuenta que allí termina.
Irving Juárez
Has de cuenta que todos los arrays delimitados tienen ese signo de interrogacion que lo que hace es decir que el string esta siendo delimitado hasta ese punto
