내 프로그램이 컴파일되었지만 오류가 발생합니다 (세그먼테이션 오류). 실수는 무엇입니까?함수가 extern 변수를 수정합니다.
a.h
extern int k;
extern int j;
char funk(char *str[], int i);
A.C
#include "a.h"
int k=0;
int j=0;
char funk(char *str[], int i) {
if (str[k][j] == '\0' && k < i) {
k++;
j = 0;
}
return str[k][j++];
}
b.c
#include <stdio.h>
#include "a.h"
int main(int argc, char *argv[])
{
char c;
while (c = funk(argv, argc))
printf("%c", c);
return 0;
}
'a.h','a.c' 및'b.c'가 파일 이름입니까? 또한 stackoverflow 할 때'main()'함수를 잃어 버렸습니까? – Rizier123
'k usr2564301
안녕하세요 @hrlinc, 어떤 대답이 귀하의 질문을 해결했다면 체크 표시를 클릭하여 그것을 수락하는 것을 고려하십시오. 이는 해결책을 찾았으며 응답자와 자신에게 어느 정도의 평판을 제공한다는 것을 더 넓은 커뮤니티에 나타냅니다. – 2501