아핫뉴스실시간 인기검색어
아핫뉴스 화산 이미지
화산 아이콘 11
이재명 통합 추진
아하

생활

생활꿀팁

탈퇴한 사용자
탈퇴한 사용자

c에서 컴파일 할때 오류가 나는데 원인을 모르겠어요

아래에 있는 소스코드를 MS 비주얼 스튜디오에서 지금 올린 상태로

돌리면 아주 잘 돌아갑니다. 그런데 주석처리 되어있는 명령어

#include <stdlib.h> 와 system("pause"); 를 활성화 하고

컴파일을 하면 매개변수가 너무 많다고 경고가 뜨고 구문오류도 있다고 하면서 에러가 나오는데

도대체 왜그런지 이해가 안되네요....

#include <stdio.h> //#include <stdlib.h> int min(int num1, int num2, int num3) { if(num1<num2) return (num1<num3) ? num1 : num3; else return (num2<num3) ? num2 : num3; } int max(int num1, int num2, int num3) { if(num1>num2) return (num1>num3) ? num1 : num3; else return (num2>num3) ? num2 : num3; } int main(void) { int num1 =0, num2 =0, num3 =0; printf("Input 3 int type numbers.: "); scanf_s("%d %d %d", &num1, &num2, &num3); printf("Small: %d\n", min(num1, num2, num3)); printf("Big: %d\n", max(num1, num2, num3)); //system("pause"); return 0; }
    1개의 답변이 있어요!
    • 탈퇴한 사용자
      탈퇴한 사용자

      안녕하세요?

      올려주신 소스를 확인해봣는데 이미 stdlib.h에 min(), max()에 대한 함수가 있어서 그런 오류가 나는 것 같습니다

      아래와 같이 원래 있는 함수를 사용해도 되니 한번 따라해보시고 컴파일 해보시기 바랍니다

      #include <stdio.h> #include <stdlib.h> /* int min(int num1, int num2, int num3) { if(num1<num2) return (num1<num3) ? num1 : num3; else return (num2<num3) ? num2 : num3; } int max(int num1, int num2, int num3) { if(num1>num2) return (num1>num3) ? num1 : num3; else return (num2>num3) ? num2 : num3; } */ int main(void) { int num1 =0, num2 =0, num3 =0; printf("Input 3 int type numbers.: "); scanf_s("%d %d %d", &num1, &num2, &num3); printf("Small: %d\n", min(min(num1, num2), num3)); printf("Big: %d\n", max(max(num1, num2), num3)); system("pause"); return 0; }