酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

为什么openaccount(&account); deposit(&account, 20); withdraw(&account, 19.89)中的account前面要加& #include <stdio.h> typedef struct { double balance; } bankaccount; //开户 void openaccount(bankaccount *account) { account->balance = 0; printf("开户成功"); } void deposit(bankaccount *account, double amount) { account->balance += amount; printf("存款 %.2f 成功", amount); } void withdraw(bankaccount *account, double amount) { if (account->balance >= amount) { account->balance -= amount; printf("取款 %.2f 成功", amount);

在 C 语言中,当函数需要修改结构体变量的内容时,通常会传递结构体指针。在 `openaccount(&account); deposit(&account, 20); withdraw(&account, 19.89)` 中使用 `&account` 是为了获取 `account` 变量的地址,并将其传递给函数,这样函数内部就可以通过指针来直接修改 `account` 结构体的成员变量,例如修改其 `balance` 值。如果不传递地址(即不使用 `&`),函数内部操作的将是结构体的副本,而不是原始的结构体变量,对副本的修改不会反映到原始变量上。 [2024-08-08 16:03:25 | AI写代码神器 | 142点数解答]

相关提问