사용자 정의함수 부분에서 질문입니다//
앵초
질문 제목 :
사용자 정의함수 부분에서 질문입니다//
질문 내용 :
#includestdio.h
int divlnt(int num1, int num2, int *result);
int main()
{
int num1, num2;
int result[2];
while(1)
{
printf(나눗셈 위한 두 정수 입력 : );
scanf(%d %d,&num1,&num2);
if(num1==0 || num2==0)
{
printf(0으로 나누는 오류발생! 숫자 재입력!!\n);
continue;
}
else
{
divlnt(num1,num2,result);
printf(몫 : %d, 나머지 : %d\n,result[0],result[1]);
break;
}
}
return 0;
}
int divlnt(int num1, int num2, int *result)
{
if(num1==0 || num2==0)
return -256;
else
{
result[0]=num1/num2;
result[1]=num1%num2;
}
return 1;
}이 코드에서...일단
main함수에서 result를 굳이 배열로 지정해준 이유가 뭐죠???
두번째 divlnt함수에서 return 1; 이렇게 해준이유가 1이 참값이라서 그런건가요??
-
모두가람
내용을 보시면 아시겠지만, result[0]은 몫, result[1]은 나머지를 주고있네요.
한번에 두개의 값을 리턴할 수 없으니 그렇게 한 것 같습니다.
0으로 나누는것을 시도하면 -256을 리턴하고
성공하면 1을 리턴하는것을 볼 수 있네요.