关于c语言中int calculate函数求解。谢谢

关于c语言中int calculate函数求解。谢谢#inculde<stdio.h>
#define Height 10
int calculate(int Long,int Width);声明这个函数做什么,为什么要这个函数。
main()
{
int m_Long;
int m_Width;
int result;
printf("长方形的高为 %d\n"Height);
printf("请输入长度 \n");
scanf("%d"&m_Long);
printf("请输入宽度 \n");
scanf("%d"&m_Width);
result=calculate(int Long,int Width); 在主函数里这里为什么是调用?
printf("长方形的体积为 \n");
printf("%d\n"result);
return 0;
}
{int calculate(int Long,int Width);这里又要定义?
int result=(Long*Width*Height);
return result;
}
问题都写在里面了,不能直接算么?求教谢谢。

这个代码展示了,一个函数可以调用另一个函数,并且展示了它是如何进行的调用。
首先说一点,函数可以互相调用,这能力非常重要,所有的编程语言都实现了函数(有的语言叫过程)之间的互相调用,没有这个能力,不能算作一门语言。
为什么这么重要呢,举个例子,有一个比你这个问题复杂的多的问题,解决它,需要写一万行代码,你写了一个程序,程序中需要重复这个过程100次,那么“直接算”,你的代码至少有100万行,写成函数,可以减少到10000行多一点(一个函数10000行,调用100次100行),这一个理由已经足够了,何况还有更充分的理由——哪怕是你不在乎同样的过程重复100次,可你有没有想过,有一天你想出来一个精简的方法,只需要5000行了,你需要重复改100次!
而写成函数,你只要修改一次就可以了。所以得到一个结论,写程序要尽量把共通的过程封装成子函数。
回过头来解释你的问题,你这个代码,只计算了一次而不是100次,并且问题规模很小,只是计算长*宽得到一个面积,写成调用反而显得麻烦——这只是向你展示一个函数如何调用另一个函数,并不是真正的应用场景。
第一个问题:为了展示一个函数如何调用另一个函数,至少要造出两个函数,已经有一个main了,再造一个calculate
第二个问题:在主函数里,调用的地方写错了,调用应该依次写实参,不带类型,这里应该写成:
result=calculate(Long,Width);
第三个问题:第一个问题那里叫声明,声明的意思是,某处有这样一个函数,返回值是xx类型,参数有xx个,分别是xx类型,它的名字叫xxx
而这里叫定义,定义和声明的区别是多了函数体,就是一对花括号和里面的东西,函数体是具体做事情的,必须要有。
最后一个问题,可以直接算,它只是向你展示如何调用函数而已。
温馨提示:答案为网友推荐,仅供参考
相似回答