发现一个求长方体体积的程序。请问还可以改进吗?
#include <stdio.h>int s1,s2,s3;
int main()
{
int bulk(int,int,int);
int v,l,w,h;
printf("Please input long and wide and high: ");
scanf("%d,%d,%d",&l,&w,&h);
v = bulk(l,w,h);
printf("The volume is:%d\n",v);
printf("s1 = %d,s2 = %d,s3 = %d\n",s1,s2,s3);
return 0;
}
int bulk(int l,int w,int h)
{
int v;
s1 = l * h;
s2 = w * h;
s3 = l * w;
v = l * w * h;
return(v);
}
本帖最后由 bin554385863 于 2019-10-29 15:56 编辑
一般情况下函数返回值只能有一个,如果要返回多个值,
要么返回一个数组,
要么返回一个结构体。
你的自定义函数返回值只有一个v,s1,s2,s3是无法返回的。
又或者不需要返回值,直接在自定义函数体内使用printf打印。
再或者使用指针*s1,*s2,*s3,再把指针作为函数的参数 bin554385863 发表于 2019-10-29 15:34
一般情况下函数返回值只能有一个,如果要返回多个值,要么返回一个数组,要么返回一个结构体。你的自定义函 ...
我把s1,s2,s3定义为了全局变量 bin554385863 发表于 2019-10-29 15:34
一般情况下函数返回值只能有一个,如果要返回多个值,要么返回一个数组,要么返回一个结构体。你的自定义函 ...
通过设为全局变量,然后如果在被调用函数中改变了,则也可以在主调函数中输出相应的值。 54黑科技 发表于 2019-10-29 15:39
通过设为全局变量,然后如果在被调用函数中改变了,则也可以在主调函数中输出相应的值。
(⊙o⊙)?
我看下 54黑科技 发表于 2019-10-29 15:39
通过设为全局变量,然后如果在被调用函数中改变了,则也可以在主调函数中输出相应的值。
了解了,这个知识点我还真没注意-_-|| 不过我很好奇为啥你不把函数声明放到main前面,或者直接在main前面定义函数
——来自强迫症的疑问=_= bin554385863 发表于 2019-10-29 15:55
了解了,这个知识点我还真没注意-_-||
没关系,相互学习 bin554385863 发表于 2019-10-29 15:59
不过我很好奇为啥你不把函数声明放到main前面,或者直接在main前面定义函数
...
可能个人编程习惯不同吧 54黑科技 发表于 2019-10-29 16:38
可能个人编程习惯不同吧
我刚开始学用的就是VScode,
每次写完代码,格式化一下,
{:10_285:}
可能时间长了就养成了写代码也是那种格式的习惯
页:
[1]