3개 return값을 넘길수 없나요??
일본녀
질문 제목 : 3개 return값을 넘길수 없나요??main함수에 3개의 값을 넘길려고 하는데 마지막 하나밖에 안 넘어가네요~~질문 내용 :
float scan(void)
{
float a;
float b;
float c;
scanf(%f %f %f,&a,&b,&c);
printf(입력받은 수는 %f %f %f입니다 \n,a,b,c);
return a,b,c;
}
int main(void)
{
float a1 = 0;
float b1 = 0;
float c1 = 0;
float total = 0;
print();
a1,b1,c1 = scan();
printf(scan받은갑ㅄ은 %f %f %f입니다 \n,a1,b1,c1);
total = add(a1,b1,c1);
printf(3수의 합은 %f 입니다. \n,total);
return 0;
}
scan();함수에서 3개의 값을 넘길려고 하는데 마지막 c의 값밖에 넘어가질 안네요~~ 3개의 값을 넘길려면 어떻게 해야 하나요??
-
꽃내
아하 ~~ 포인터를 사용하면 되는군요~~~ 이럴때 포인터가 쓰이는구나아~~ 감사합니다아~~^^
-
뿡뿡
네 배열을 사용고 포인터로 리턴을하시면 여러개값을 리턴할수있는 효과를 나타낼수있습니다.
-
갤2
C에서 여러 개의 값을 리턴하고자 할 때는 포인터를 쓰곤 합니다.
-
마루한
함수의 리턴값은 없거나 한 개입니다.
Scan 함수는 입력받은 a, b, c의 합을 리턴하면 되겠네요. -
맥적다
return 문으로 2개 이상의 값을 리턴할 수 없습니다.
scanf처럼 포인터를 사용하여 결과를 전달받거나,
구조체로 여러 변수를 묶어서 return 할 수는 있습니다.