c语言程序设计,求解答
已知长方体的高度,输入长度和宽度,求体积,B写法可以编译但是不能执行,有什么不对的地方吗?A写法为什么要intmain?为什么还要return0?intcalculate...
已知长方体的高度,输入长度和宽度,求体积,B写法可以编译但是不能执行,有什么不对的地方吗?A写法为什么要int main?为什么还要return0?int calculate为什么先声明然手在主函数下面执行?这个函数为什么要ruturn result?主函数返回值返回给了谁?int calculate函数返回给了谁?不返回会有什么区别?
#include<stdio.h>
#define Height 10
int calculate(int Long,int Width);
int 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(m_Long,m_Width);
printf("长方体的体积是:");
printf("%d\n",result);
return 0;
}
int calculate(int Long,int Width)
{
int result=Long*Width*Height;
return result;
} 展开
#include<stdio.h>
#define Height 10
int calculate(int Long,int Width);
int 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(m_Long,m_Width);
printf("长方体的体积是:");
printf("%d\n",result);
return 0;
}
int calculate(int Long,int Width)
{
int result=Long*Width*Height;
return result;
} 展开
展开全部
首先你这个程序是正确的,你所说的B写法A写法什么的,我表示没找到啊.
int main()在最后加return 0,是基本常识,因为int需要返还值,可以用void main(),那么就不要返还值了.
还有calculate是子函数,main函数要调用的话,必须在main函数之前或者内声明.至于下面那个calculate函数不是执行而是定义,那是用户自定义的函数,用来实现某种功能.
同样的calculate函数前有int需要返还值,如果不返还那么result就得不到值,因为result=calculate(m_Long,m_Width);result接受它的值.不返回的话,在calculate函数里计算出来的值就传不到main函数里,result也就没值了.
(这是基本的函数的模块化,楼主可以自己查看一下教科书,比较简单的)
int main()在最后加return 0,是基本常识,因为int需要返还值,可以用void main(),那么就不要返还值了.
还有calculate是子函数,main函数要调用的话,必须在main函数之前或者内声明.至于下面那个calculate函数不是执行而是定义,那是用户自定义的函数,用来实现某种功能.
同样的calculate函数前有int需要返还值,如果不返还那么result就得不到值,因为result=calculate(m_Long,m_Width);result接受它的值.不返回的话,在calculate函数里计算出来的值就传不到main函数里,result也就没值了.
(这是基本的函数的模块化,楼主可以自己查看一下教科书,比较简单的)
追问
B写法在这
#include
main()
{
int long,width,height,result;
height=10;
printf("长方体的高度为10");
pirntf("请输入长方体的长度");
scanf("%d",&long);
pirntf("请输入长方体的宽度");
scanf("%d",&width);
result=long*width*height;
printf("长方体的体积是:%d",result);
}
追答
你这个没有调用子函数,修改如下.要强调的是,你的输出拼错了,还有long在c语言里是关键字,表示长整型,不能用来做变量,把l大写就好了
#include
void main()
{
int Long, width,height,result;
height=10;
printf("长方体的高度为10\n");
printf("请输入长方体的长度");
scanf("%d",&Long);
printf("请输入长方体的宽度");
scanf("%d",&width);
result=Long*width*height;
printf("长方体的体积是:%d\n",result);
}
展开全部
A写法为什么要int main? 主函数返回值类型为int
int calculate为什么先声明然手在主函数下面执行? 也可在主函数上面执行
这个函数为什么要ruturn result? 结果返回主函数
主函数返回值返回给了谁? 无返回值 因为return 0;
int calculate函数返回给了谁?主函数
不返回会有什么区别? 输出不了函数结果
int calculate为什么先声明然手在主函数下面执行? 也可在主函数上面执行
这个函数为什么要ruturn result? 结果返回主函数
主函数返回值返回给了谁? 无返回值 因为return 0;
int calculate函数返回给了谁?主函数
不返回会有什么区别? 输出不了函数结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你那个B写法中 main() 在C语言中 与void main()是不同,它与 int main()是相同的 也就是说你如果定义一个函数时前面不加返回值类型的话 C语言默认为 int类型 故 在主函数的最后 还要加上 return 0; 还有 int main() 这种形式这是为了程序的可移植性而考虑的 因为 不是所有的编译器都能编译通过 void main()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询