gpt4 book ai didi

c - 不显示计算结果的函数

转载 作者:太空宇宙 更新时间:2023-11-04 06:22:11 25 4
gpt4 key购买 nike

我对此很陌生,我已经尝试了所有方法,但我无法让它工作,无论我更改什么,它都只显示“无效的数学运算”。请帮我解决这个问题。

#include <stdio.h>
#include <math.h>

int fnCalculate (int fn, int sn);

int main()
{
int fn, sn;
char op;
printf("Enter 2 interger values and math operation [+] [-] [*] : ");
scanf("%d %d %c", &fn, &sn, &op);
printf("%d", fnCalculate(fn,sn));
getch();
return 0;

}
int fnCalculate (int fn, int sn)
{
char op;
switch(op){

case '+' : printf("%d + %d = %d", fn, sn, fn+sn);break;
case '-' : printf("%d - %d = %d", fn, sn, fn-sn);break;
case '*' : printf("%d * %d = %d", fn, sn, fn*sn);break;
default : printf("Invalid Math Operation");break;

}
}

最佳答案

您必须向函数发送操作字符。函数中的 op 未初始化并包含垃圾值。

void fnCalculate (int fn, int sn, char op)
{
switch(op){

case '+' : printf("%d + %d = %d", fn, sn, fn+sn);break;
case '-' : printf("%d - %d = %d", fn, sn, fn-sn);break;
case '*' : printf("%d * %d = %d", fn, sn, fn*sn);break;
default : printf("Invalid Math Operation");break;
}
}

这样调用它:

fnCalculate(fn,sn,op);

另外,它应该返回一个 int 值。它没有返回任何东西,所以那里还有另一个问题。或者将签名更改为 void 并只调用该函数,而不是在 printf 中。

关于c - 不显示计算结果的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32816673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com