c - 在这个计算器程序中,只有零显示为输出
问题描述
#include <stdio.h>
void calculation(int x, int y, int z);
main() {
calculation(15, 5, 1);
}
void calculation(int x, int y, int z) {
if (z == 1) {
printf("%d", add(x, y));
}
if (z == 2) {
printf("%d", mul(x, y));
}
if (z == 3) {
printf("%d", div(x, y));
}
if (z == 4) {
printf("%d", sub(x, y));
}
}
int mul(int x, int y) {
x * y;
}
int add(int x, int y) {
x + y;
}
int div(int x, int y) {
x / y;
}
int sub(int x, int y) {
x - y;
}
int gugudan(int x) {
for (int i = 1; i <= 9; i++) {
printf("%d*%d=%d\n", x, i, x * i);
}
}
这是我想通过将 x 与 y 相乘来运行的代码,该代码来自制作计算器的源代码。我正在尝试打印输出,但即使输入不同,结果仍然显示为零。x,y,z 有什么问题?还是在其他地方错了?
解决方案
检查您声明的功能,例如,mul
一个。您声明它返回一个int
,但在您的函数内部,您没有返回任何内容。
要解决您的问题,您需要返回函数的值,该值应为int
.
因此,这里是从函数(即函数)返回值应该执行的操作的片段mul
:
int mul(int x, int y) {
return x * y;
}
因此,您应该在您开发的其他功能上修复此缺失return
,并且您的代码应该可以正常工作。
推荐阅读
- c# - 如何将 XAML 元素设置为默认为当年?
- regex - 使用 vi 编辑器将数字替换为 csv 文件中的双引号
- rust - 将 async/await 与旧的 `Future 一起使用
- ` 类型
- laravel - 在laravel中将数据传递给通知
- amazon-web-services - Destination 仅在通过 AWS CLI 调用 Lambda 时有效
- javascript - 在 highcharts 中的 DrillDown 上删除 TickInterval
- xml - XSLT - 以前的值和增量计数器
- ios - 将 iOS 设备连接到 Mac 并记录应用程序错误
- excel - 我可以使用 IFS 公式在单元格中搜索特定文本,并将文本返回到当前单元格吗?
- javascript - 无法准备好 null 的属性 - 对象数组上的三元运算符