segmentation fault 문제...

sulbang의 이미지

segmentation fault 문제 입니다 ...

파일 내용이 길어서 첨부 파일에 추가 하였습니다

---------------------------------------------------------------------------
내용을 보시면
콘솔 창에서 : ./c.exe a.c(파일) 을 출력하면 맨 마지막 줄에 segmentation fault가 나옵니다.. 디버그를 하면 strcmp() 함수 부분에 문제가 있다고 하는데 ....
잘 모르겠네요...

File attachments: 
첨부파일 크기
Plain text icon a.txt874바이트
singlet의 이미지

./c.exe a.c(파일)였고

	if(!strcmp(argv[2],"-n")) Line_Num_Add();
	if(!strcmp(argv[2],"-c")) Comment_Eraser();
이므로, argv[2] == NULL 이 되어 널 포인터 역참조 에러가 난 것입니다. strcmp() 에는 아무 에러 없습니다.
sulbang의 이미지

그런데 if 문으로 조건을 나우었는데 왜 세번쩨 argv[2] 가 NULL 되지요...

./c.exe a.c 를 하면 첫번째 조건문 if(argc==2) file_prt(); 함수만 수행하는 거 아닌가요

물론 함수를 if(!strcmp(argv[2], "-o") File_Prt(); 이렇게 하면 정상으로 나옵니다..

흠 .....

qufdl113의 이미지

문법공부하시기 바랍니다.
쉬운것들 부터요.
if - else if - else ;
또는
switch - case break ( default - break);
등.

에러 원인은 singlet님 말씀 대로입니다

sodomau의 이미지

그 if문만 실행되고 종료되질 않아요
그 뒤에 있는것도 실행되니까 그렇죠;
문법 공부 정말 하셔야 할 듯;

sulbang의 이미지

내 제가 착각을 한 모양입니다...

모든 감사드립니다... 더 많은 지적 부탁드립니다...

그럼 ....

흠 .....