Я пытаюсь работать над проектом, где мне запрещено использовать глобальные переменные. В моем проекте, у меня есть следующие функции:Как использовать значения из функций в C
int addAccount()
{
int ID_number = 0;
int ID;
int ID_array[10];
double account_balance;
double balance_array[10];
int choice = getChoice();
if (choice == 1)
{
if (ID_number + 1 > 10)
{
printf("Error\n");
}
else
{
ID_number = ID_number + 1;
printf("Please enter the id\n");
scanf("%d", &ID);
ID_array[ID_number - 1] = ID;
printf("Please enter the starting balance\n");
scanf("%lf", &account_balance);
balance_array[ID_number - 1] = account_balance;
}
}
return;
мне нужно каким-то образом получить значения для некоторых из этих переменных и использовать их в другой функции (в частности ID, ID_NUMBER и account_balance). Функция, которая мне нужны эти значения следующим образом:
void displayAccounts()
{
int count;
int choice = getChoice();
int ID_number = ID_number();
if (choice == 2)
{
for (count = 0; count < ID_number; count++)
{
printf("Account #%d: ID is %d\n", count + 1, ID_array[count]);
printf("Account balance is %.2lf\n", balance_array[count]);
}
}
}
Я знаю, как вернуть одно значение, но я не знаю, как сделать несколько значений можно использовать вне зависимости, где они происходят. Является ли то, что я пытаюсь сделать, даже если это возможно, или это вероятно, что я неправильно использую свой проект?
'вернуть id_value;' вместо того, чтобы просто 'return;' (что должно спровоцировать хотя бы предупреждение, так как функция возвращает int) – joop
В C функции могут возвращать только одно значение. Для вашего вопроса вы можете хранить значения в массиве, а затем возвращать этот массив обратно вызывающей функции. – Haris
использовать указатель, вы можете использовать обновленные значения в разных функциях ... –