IT story

세그먼트 화 오류 (코어 덤프) 란 무엇입니까?

hot-time 2020. 9. 16. 21:01
반응형

세그먼트 화 오류 (코어 덤프) 란 무엇입니까? [복제]


이 질문에 이미 답변이 있습니다.

인수의 sqrt가있는 Linux에서 C 프로그램을 작성하려고합니다. 코드는 다음과 같습니다.

#include<stdlib.h>
#include<stdio.h>
#include<math.h>

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

"shell>"프롬프트에서 입력을 입력하면 gcc에서 다음과 같은 오류가 발생합니다.

Segmentation fault (core dumped)

"세그먼트 오류"는 액세스 할 수없는 메모리에 액세스하려고 시도했음을 의미합니다.

첫 번째 문제는 main. main기능을해야합니다 int main(int argc, char *argv[]), 당신은 확인해야 argc액세스하기 전에 적어도 2입니다 argv[1].

또한 floatto를 전달하기 때문에 (그런데로 전달할 때 a printf변환 doubleprintf) %f형식 지정자를 사용해야 합니다. %s형식 지정 문자열 (입니다 '\0'로 끝나는 문자 배열).

참고 URL : https://stackoverflow.com/questions/19641597/what-is-segmentation-fault-core-dumped

반응형