#include <stdio.h>
int square(int x);
int cube(int x);
int quartic(int x);
int quintic(int x);
int main()
{
int i;
for(i=1;i<4;i++)
printf("] ] ] ] ]\n",i,square(i),cube(i),quartic(i),quintic(i));
}
int square(int x)
{
return x*x;
}
int cube(int x)
{
return x*x*x;
}
int quartic(int x)
{
return square(x)*square(x);
}
int quintic(int x)
{
return square(x)*cube(x);
}
이코드 돌아가기는 원하는대로 돌아가는데
printf("] ] ] ] ]\n",i,square(i),cube(i),quartic(i),quintic(i));
이거 이렇게 하면 원래 안되지?? 함수안에있는 x 나가면 사라지니까 result같은 변수 만들어서 하나씩 저장하면서 해줘야되지??
근데 왜 값은 잘나오는거??
자추
궁금한 게 있는데 물어봐도 돼? 닫는 대괄호 ]는 printf 안에 왜 그렇게 많이 써놓은거야?
%d인데 복사해서 넣으니까 저렇게 된거
int square(int x) 리턴 값은 int라고 적혀있죠? 이 함수는 int형 값을 리턴합니다. printf는 값을 받기만 하면 되는 겁니다. C언어의 용의주도함을 배우게 되셨으리라 믿겠습니다.
쉽게 말해서 변수를 통해서 값을 읽든, 리턴 값을 통해서 값을 읽든, 값을 읽은 건 똑같다는 겁니다.
리턴이라는 건 그 함수가 실행된 장소로 어떤 값을 되돌려 주는 것인데, 작성자님이 return 명령어로 작성한 것이 바로 그것이네요. C언어를 유아용 프로그래밍 언어라고 생각하면 그런 오해를 합니다. C언어는 프로그래머 중에서도 훌륭한 실력을 가진 사람들을 위해 고안된 프로그래밍 언어라서 사용법이 매우 다양합니다.
아 결론은 그냥 함수값으로 써도 나온다는거네요 ㄳㄳ
아니에요. 리턴값으로 써도 나온다고 해야죠 ㅎㅎ
printf("%d",square(i)); 라고 쓴게 square함수에서 사용하고 리턴한 값을 넣은거라는 뜻이죠?
네 리턴 값은 함수가 호출된 곳으로 돌아갑니다.
변수 출력형을 적어야지 ㅄ년아