Terminación nula de la matriz char
Considere el siguiente caso:
#include<stdio.h>
int main()
{
char A[5];
scanf("%s",A);
printf("%s",A);
}
Mi pregunta es si charA[5]
Contiene solo dos caracteres. Di "ab", entoncesA[0]='a'
, A[1]='b'
yA[2]='\0'
. Pero si la entrada es decir, "abcde" entonces ¿dónde está'\0'
en ese caso. SeráA[5]
Contiene'\0'
? ¿Si es así por qué?sizeof(A)
Siempre devolverá 5 como respuesta. Entonces, cuando la matriz está llena, ¿hay un byte adicional reservado para'\0'
cualsizeof()
no cuenta?