[Duda] Array - Salida
#1

Muy bien chico, haciendo experimentos con los array me di cuenta de algo es que si yo pongo

pawn Код:
new Array[7] = {'c','r','a','s','h','c'};

// y al llamar el indice 1, o el espacio 1

printf("Mi matriz %s",Array[1]);
Al imprimir eso en la consola, pensй que el valor que mostrarнa seria c (primera letra guardada en el array)
pero esto no es asн mбs bien aparece, "rashc" osea el indice que llame es el que no sale.

No busco algo en concreto, pero si una explicaciуn їDel por que pasa eso?.
Reply
#2

c no es el valor que guardarб el нndice 1, el 0 sн.
Reply
#3

Quote:
Originally Posted by EnzoMetlc
Посмотреть сообщение
c no es el valor que guardarб el нndice 1, el 0 sн.
Ahh, vale lo he verificado. pero pensй que el 0 era el que guardaba el carбcter nulo .
error tonto
Reply
#4

%s se usa para una cadena de caracteres, por lo que si lo usas de esa manera, mostrarб el contenido del array desde esa celda. Si quieres que solo muestre el valor de la celda, debes usar %c.

Las celdas se llaman comenzando desde 0. El valor nulo es el ъltimo.
Reply
#5

Quote:
Originally Posted by CrashCar
Посмотреть сообщение
Ahh, vale lo he verificado. pero pensй que el 0 era el que guardaba el carбcter nulo .
error tonto
El caracter nulo es para indicar que ahн termina la cadena, siempre es el ultimo lugar.

Supongamos que tienes:

pawn Код:
new array[] = "Juliбn";
Y luego pones el caracter nulo en el medio, se cortarб el string:

pawn Код:
array[3] = EOS; // tambiйn lo puedes poner como '\0'
printf("%s", array);
// Jul
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)