C:警告: ‘withdrawal_amt’ 可能在此函数中未初始化地使用

标签 c function banking

我正在为 C 类入门编写一个程序,当我尝试使用 gcc 进行编译时,不断收到一些警告。

这是我的代码:

int main ()
{
float balance;
float beg_balance;
float withdrawal_amt;
float deposit_amt;
float amount;
int total_withdrawals;
int total_deposits;
int selection;

print_greeting ();

printf("Let's begin with your beginning balance");
beg_balance = get_positive_value();
do
{
print_menu ();
scanf("%d", &selection);

switch (selection)
  {
  case WITHDRAWAL:
    get_positive_value();
    balance = withdrawal(balance, withdrawal_amt, amount);
    break;
  case DEPOSIT:
    get_positive_value();
    balance = deposit(balance, deposit_amt, amount);
    break;
  case SUMMARY:
print_receipt(total_withdrawals, total_deposits, beg_balance, balance, \
withdrawal_amt, deposit_amt);
    break;
  case QUIT:
    break;
  default: printf("Invalid selection");
  break;
  }
}
while(selection != 4);

return 0;

编译时遇到的错误是这样的:

project.c: In function ‘main’:
project.c:46: warning: ‘withdrawal_amt’ may be used uninitialized in this function
project.c:46: warning: ‘amount’ may be used uninitialized in this function
project.c:50: warning: ‘deposit_amt’ may be used uninitialized in this function
project.c:53: warning: ‘total_withdrawals’ may be used uninitialized in this function
project.c:53: warning: ‘total_deposits’ may be used uninitialized in this function

有什么想法吗?谢谢

编辑:

现在我在创建用于打印帐户交易历史记录的注册函数时遇到问题。它应该打印出期初余额和期末余额,以及显示已发生的所有交易(存款和取款)的表格。任何帮助将不胜感激

最佳答案

float balance;
float beg_balance;
float withdrawal_amt;
float deposit_amt;

你永远不会赋予它们任何值(value)。就像你写的:

case DEPOSIT:
get_positive_value();
balance = deposit(balance, (float), amount);
break;

您需要像这样初始化它们:

float withdrawal_amt = 0.0;

关于C:警告: ‘withdrawal_amt’ 可能在此函数中未初始化地使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20526053/

相关文章:

c++ - 如何确定三角函数的大小? C++

mysql - 用于存储类银行账户和交易的数据库结构

c++:如何获得余额(在银行系统中)

C 数组大小声明毫无意义?

c - 在库中隐藏非 API 符号

c - 避免在 C 程序中使用 main(入口点)

c - 在 C 中打印“(双引号)

javascript - 在 JavaScript 中同时声明变量和函数

c++ - 函数调用作为数组元素

java - 对于银行应用程序来说,SQL 事务或 Java 端事务哪个更好?