Cuando trato de ejecutar el siguiente código obtengo un fallo seg. He intentado ejecutarlo a través de gdb, y entiendo que el error está ocurriendo como parte de llamar al printf
, pero no sé por qué exactamente no está funcionando.El programa se bloquea cuando le doy a printf un puntero a una matriz de caracteres
#include <stdlib.h>
#include <stdio.h>
int main() {
char c[5] = "Test";
char *type = NULL;
type = &c[0];
printf("%s\n", *type);
}
Si sustituyo printf("%s\n", *type);
con printf("%s\n", c);
me sale "de prueba" impreso como lo esperaba. ¿Por qué no funciona con un puntero a la matriz de caracteres?
Solo me gustaría señalar: "C" no se colgó porque C no es un programa. Tu compilador no se colgó. *** Usaste C para escribir un programa que falla. *** –
Tienes razón, David. Sé lo que quería decir, y tú también, obviamente, pero es importante ser preciso al hablar de este tipo de cosas. – WhiteHotLoveTiger
Cambie su '% s' a'% c' para ver el 'c [0]' – wulfgarpro