int main()
{
int res;
funcAdd(10,20);
}
int funcAdd(int a,int b)
{
return a+b;
}
위의 프로그램에서 main은 funcAdd()가 main 뒤에 정의되고 처음에는 선언이 없으므로 main이 funcAdd()를 인식하지 못합니다. C 컴파일러가 2 패스의 프로그램을 수행했다면 funcAdd() 함수가 두 번째 패스에서 정의된다는 것을 알기 때문에 이것은 문제가되지 않습니다. 이것은 C가 한 단계 컴파일러임을 의미합니까? 친절히 내 의심을 분명히합니다.c 컴파일러는 몇 패스를 수행합니까?
프로그램의 타당성과 아무런 관련이 없습니다. –
결과의 확인 오류. 한 번 통과 컴파일러가 호출 지점에서 funcAdd를 인식 할 수 없다는 것은 호출 지점에서 funcAdd를 인식하지 못하는 컴파일러가 원 패스임을 의미하지는 않습니다. –