Código
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char** argv) { string[0]='q'; string[1]='w'; string[2]='e'; string[3]='a'; string[4]='s'; string[5]='d'; string[6]='z'; string[7]='x'; string[8]='c'; string[9]='r'; string[10]='f'; string[11]='v'; return 0; }
¿Porque imprime que la longitud del string en de 15, si aloque memoria para 11 elementos?
¿Porque imprime garbage en el ultimo carácter?
Se que se solucionaria agregando un '\0' al final, ¿pero C no lo agrega automaticamente al alocar la memoria?.
Disculpen mi ingenuidad, se que debe ser algo muy basico y gracias por detenerse a leer.