을 주석 후 잘 작동? 당신의 main
기능 내부C printf 함수를 추가 한 후 분할 오류가 발생했습니다. 나는 내가 먼저 밖으로의 printf, 그것은 요 괜찮을는 이런 일이 않는 작품을 언급 code.If의이 부분을 실행 한 후 세그먼트 오류를 얻을 수
#include <stdio.h>
int Func (int *a){
printf("%d\n",56);
printf("a is %d\n",*a);
return 3;
}
int main(){
int N, i, Planet, *a,junk;
junk=scanf("%d", &N);
*a = N;
Planet = Func(a);
printf("%d\n", Planet);
return 0 ;
}
을 한 줄에 하나의 변수를 선언 할을 제안하고,
NULL
포인터를 초기화하는 것입니다. unintialized 포인터 역 참조 (당신의'* A = N;'선 것은) 정의되지 않은 동작 – yano당신이 사용할 수있는 모든 경고와 함께 컴파일 시도 유무 : 그 경고 중 하나는 당신에게 당신의 세그멘트 폴트의 원인을 말할 것이다. – Evert
은 * 아무 * 당신은 기본적으로 가리키는'INT *'라는'A'을 가지고, 조금 더 명확히 없습니다. 당신은'* A = N을 수행 할 때,'당신은 * 아무 * 위치로 이동하고, 그 자리에서 N''의 내용을 적어 컴퓨터를 말하는 것입니다. 이것은 segfault의 원인입니다. – turbulencetoo