c语言程序修改?

c语言程序修改?,第1张

首先说下存在的问题:

1.define容易造成误会,因为不符合一般的编程习惯,false 0, true 1

2.scanf放在你的那个地方是达不到你想要的结果,只输入了一次。建议改成getchar这种形式,具体如图二

3.为了达到通用化,建议定义两个你需要处理的字符组合,他们相互配对,这样方便以后添加而不用改下面的代码

4.同时为了配合3这个更改添加一个判断输入字符是不是在字符组的函数,方便使用。

详细代码如图,因为没有Stack我没有办法验证,如果有错你看着改改,这种思路是没有错的。

图一

图二

#include <stdio.h>

int (*function[4])(int, int)

int execute(int x, int y,int (*fun)(int, int)) { return (*fun)(x,y)}

int main()

{

int fun1(int, int)

int fun2(int, int)

int fun3(int, int)

int fun4(int, int)

int a=10,b=5,i

function[0]=fun1

function[1]=fun2

function[2]=fun3

function[3]=fun4

for(i=0i<4i++)

printf("fun no.%d->%d\n",i+1,execute(a,b,function[i]))

return 0

}

int fun1(int x, int y) { return(x+y)}

int fun2(int x, int y) { return(x-y)}

int fun3(int x, int y) { return(x*y)}

int fun4(int x, int y) { return(x/y)}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7756085.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存