¿Qué es la falla de segmentación (núcleo volcado)?

Estoy tratando de escribir un progtwig en C en Linux que teniendo en cuenta el argumento, aquí está el código:

#include #include #include int main(char *argv[]){ float k; printf("this is consumer\n"); k=(float)sqrt(atoi(argv[1])); printf("%s\n",k); return 0; } 

Después de escribir mi entrada en el indicador “shell>”, gcc me da el siguiente error:

 Segmentation fault (core dumped) 

“Fallo de segmentación” significa que intentó acceder a la memoria a la que no tiene acceso.

El primer problema es con tus argumentos de main . La función main debe ser int main(int argc, char *argv[]) , y debe verificar que argc sea ​​al menos 2 antes de acceder a argv[1] .

Además, dado que está pasando un float a printf (que, por cierto, se convierte a double cuando pasa a printf ), debe usar el especificador de formato %f . El especificador de formato %s es para cadenas (matrices de caracteres terminadas en '\0' ).