지정하십시오. 세그멘테이션 오류 (core 덤프했습니다)?

나는 것은 프로그램을 쓸 수 있는 C # 39 의 인수, linux 에서 스크트 Here& 코드:

#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;
}

키보드 입력 후 내 입력에 &quot shell>; &quot. 다음 날, 프롬프트합니다 mgcc 보기입니다 error::

Segmentation fault (core dumped)
질문에 대한 의견 (4)
해결책

&quot 세그먼트화 fault"; 하려고 하지 않는 액세스하려면 메모리를 액세스할 수 있다는 의미입니다.

첫 번째 문제는 본인의 주장을 '주'. '주' 이 함수는 (int main (int 아리스, 챨 * argv []), '수' 와 '아리스' 는 것을 확인해야 합니다 'argv [1]' 에 액세스하기 전에 적어도 2.

또한, re 반군지역 you& # 39 의 printf 부동 소수점 '을' 이후 '' (디스크입니다. 그렇고, '더블' 수 '로 변환되는 통과할 경우 printf'), '형식' %f 지정자와 사용해야 합니다. '형식' %s 지정자와 캐비닛용입니다 문장열 ('& # 39, \0& # 39,' 종료되었습니다. 문자 어레이에는).

해설 (3)