【发布时间】:2021-04-29 21:12:32
【问题描述】:
每当用户输入 1-5 之间的正整数时,我正在制作一个简单的程序来计算用户余额。我只为第一个选项编写代码,但输出中发生了一些奇怪的事情,这是我的代码:
#include <iostream>
using namespace std;
int balance = 100000;
int iNet = 59900;
int internet(int iNet, int code, int remain){
if(code == 1){
remain = balance - iNet;
cout << "Price = " << iNet << endl;
cout << "Remaining credit = " << remain <<endl;
}
}
int main(){
int code, remain;
cin >> code;
cout << internet(iNet, code, remain);
return 0;
}
但是当我运行程序时,它显示如下:
用户输入
1
程序输出
Price = 59900
Remaining credit = 40100
4745728
我不知道4745728 来自哪里。
【问题讨论】:
-
你从来没有
return任何来自internet()函数的东西。我可以建议获得a good C++ book 吗?您当前的学习资源似乎无法解释编码的基础知识。 -
已经尝试输入
return 0;,结果输出也输入0,这不是我想要的。 -
那你想要什么?请注意,您必须始终准确返回 1 个整数。
-
@drescherjm 删除
4745728的东西 -
您还需要将函数更改为
void internet(int iNet, int code, int remain){。否则你的程序有未定义的行为。