Во-первых, вы можете только return
одно значение на функцию.Это, вероятно, заставит вас спросить: «Как можно получить значения для A, B и C из FuncA?»
Как много вы знаете о указателях?Решение будет трудно понять, если у вас нет четкого представления о том, что такое указатели и как они работают.
Решение состоит в том, чтобы передать 3 указателя (один для A, B и C), чтобы FuncAможет присвоить им значение.Это не использует ключевое слово return
.Он присваивает значения в определенном месте в памяти, а именно, A, B и C.
int FuncA(int* A, int* B, int* C)
{
printf("Enter 3 number:");
scanf("%d %d %d", A, B, C);
}
Теперь, когда A, B и C содержат пользовательский ввод, мы можем передать эти значения в FuncB.Ваш окончательный код должен выглядеть следующим образом:
int FuncA(int* A, int* B, int *C);
int FuncB(int A, int B, int C);
int main(void)
{
int A;
int B;
int C;
FuncA(&A, &B, &C);
FuncB(A, B, C);
}
int FuncA(int* A, int* B, int* C)
{
printf("Enter 3 number:");
scanf("%d %d %d", A, B, C);
}
int FuncB(int A, int B, int C)
{
// ...
}