조건 출력 추가질문

익명 사용자의 이미지

답변 너무 감사드립니다.

아직 C에 익숙치 않은지라 추가적으로 더 궁금한 사항이 있어 질문드립니다

int coo_coo(int start, int end, int dan)
{
    while(start <= end){
        for(int i=1; i<=9; i++){
            for(int j=0; j<min(dan, end-start+1); j++){
                printf("%d * %d = %d\t", start+j, i, (start+j)*i);
            }
            puts("");
        }
        start += dan;
    }
    return 0;
}

여기에서
for(int j=0; j<min(dan, end-start+1); j++){

이부분에서 모르는게 있어서요
min이라는것은 무엇인가요? 함수 같은건가요?
어떻게 사용되는건지...?
pastime의 이미지

min은 보통 다음과 같이 정의하는 매크로입니다.

#define min(a, b)  ((a) < (b) ? (a) : (b))

위의 경우 dan과 (end-start+1) 중에서 작은 값을 골라줍니다.