gpt4 book ai didi

c - 如何使用 C 函数中的值

转载 作者:行者123 更新时间:2023-11-30 20:01:51 25 4
gpt4 key购买 nike

我正在尝试从事一个禁止使用全局变量的项目。在我的项目中,我有以下功能:

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]);
}

}
}

我知道如何返回一个值,但我不知道如何使多个值在它们出现的函数之外可用。我正在尝试做的事情是否可能,或者我是否可能以错误的方式进行我的项目?

最佳答案

使用结构:

struct Account
{
int count;
int ID_number;
int balance_array[10];

// etc etc
};

将指针传递给addAccount:

void addAccount(struct Account *account)
{
account->ID_number = 0;
// etc
}

然后将其传递给displayAccounts

void displayAccount(struct Account *account)
{

}

例如:

struct Account account;
addAccount(&account);
displayAccount(&account);

请注意,在 C 中,您需要使用 struct 前缀,除非您 typedef 结构。

关于c - 如何使用 C 函数中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26422549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com