#include <stdio.h>
int divisor(int, int);
void main()
{
int i=0,temp;
scanf("%d",&temp);
// printf("==> ");
while(i++ <= temp)
if(divisor(temp, i))
printf(" %d ",i);
// printf("\n");
}
int divisor(int temp, int i)
{
if(temp % i)
return 0;
else
return 1;
}
일단 return 에 대한 질문입니다..
divisor 함수에서 return 0 과 1의 정확한 의미를 알고 싶습니다.
return 0 은 숫자 0값을 반환하는게 아니라 반환값이 없다는 null의 의미 같습니다. 제생각에는요..
그리고 return 1은 1값을 반환한다는건지 반환값이 있다는 의미인지도 잘 모르겠습니다.
만약 return 0 이라는 문장만 존재한다면 void divisor() 와 의미가 같은지도 궁금합니다.
두번째로 if문에 대한 질문입니다.
main() 안에 while 문안에 if(divisor(temp,i)) 여기에서 if 문은 어떤 역할을 하는지 궁금합니다.
굳이 if 가 없어도 될것같지만 막상 if 를 지우면 엉뚱한 값이 나오더군요..이부분에서 if 와,
divisior() 안에서의 if(temp % i) 이 문장이 정확히 뭘 의미하는지 모르겠습니다.
temp 를 i 로 나눈 나머지... 단지 이 의미는 아닌것 같고 그렇다면 else 는 뭐에 대한 else 인지
모르겠습니다. else 문뒤에는 어떤 조건이 생략되인는지 궁금합니다.
이상 두가지 질문입니다. 답변해주시는 분들때문에 정말 많은 것을 배우고 갑니다.
계속되는 초보적인 질문에 좋은 답변해주셔서 감사합니다~~
|