为什么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点数解答]
相关提问
- 为什么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);(142点数解答 | 2024-08-08 16:03:25)233
- 解释下面代码的含义以及用法 #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); } else { printf("取款 %.2f,余额不足失败", amount); } } //查询余额 do(298点数解答 | 2024-08-08 15:01:11)206
- 解释下面代码含义 typedef struct { double balance; } bankaccount; //开户 void openaccount(bankaccount *account) { account->balance = 0; printf("开户成功"); } //存款 void deposit(bankaccount *account, double amount) { account->balance += amount; printf("\n") ; printf("存款 %.2f 成功", amount); } //取款 void withdraw(bankaccount *account, double amount) { if (account->balance >= amount) { account->balance -= amount; printf("\n") ; printf("取款 %.2f 成功", amount); } else { printf("\n") ; printf("取款 %.2f,余额不足失败", amo(195点数解答 | 2024-08-08 14:53:52)221
- 下面代码中的bankaccount *account,account->balance += amount;具体解释原理和作用 #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); } else { printf("取款(161点数解答 | 2024-08-08 15:18:14)221
- 为什么printf("查询余额为%.2f", getbalance(&account)中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); } else { printf("取款 %.2f,余额不足失败"(121点数解答 | 2024-08-08 15:56:21)237
- 以下代码使用指针与结构体的作用与好处是什么? #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); } else { printf("取款 %.2f,余额不足失败", amount); } } double getbalanc(201点数解答 | 2024-08-08 15:39:09)200
- 解释下面每一行代码的含义和作用以及用法 #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("\n") ; printf("存款 %.2f 成功", amount); } //取款 void withdraw(bankaccount *account, double amount) { if (account->balance >= amount) { account->balance -= amount; printf("\n") ; printf("取款 %.2f 成功", amount); } else { printf("\n")(152点数解答 | 2024-08-08 14:58:48)247
- 下面代码中,bankaccount *account和bankaccount 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); } else { printf("取款 %.2f,余额不足失败", a(174点数解答 | 2024-08-08 15:43:13)218
- 下面代码中的bankaccount *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); } else { printf("取款 %.2f,余额不足失败", amount); } } d(124点数解答 | 2024-08-08 15:12:48)251
- 为什么最后bankaccounttest函数中使用bankaccount account而不是bankaccount *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); } else { printf("取款(218点数解答 | 2024-08-08 15:48:26)296
- 为什么前面deposit函数里面的printf里amount前没有&,bankacounttest函数里面printf中的acount前面有&符合? #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); } else { print(132点数解答 | 2024-08-08 15:53:07)189
- // rod6.cpp : defines the entry point for the console application. // #include "stdafx.h" // consoleapplication2.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <stdio.h> #include <math.h> #include <iostream> #include <conio.h> #include <cstdlib> using namespace std; double ro[10001]; double th[10001]; double e[10001]; double a[10001]; double b[10001]; double y[10001]; double x[10001]; double d[10001]; double d[10001]; double da[10001]; double db[10001]; double dc[10001]; double z[10001]; d(55点数解答 | 2024-08-16 15:22:27)217