C++语言程序设计

| 例5-19

//输入正方体的长宽高l、w、h，求体积及三个面x*y、x*z、y*z的面积。
#include <iostream.h>
int s1,s2,s3;
int vs( int a,int b,int c)
{
int v;
v=a*b*c;
s1=a*b;
s2=b*c;
s3=a*c;
return v;
}
void main()
{
int v,l,w,h;
cout<<endl;
cout<<"input length,width and height"<<endl;
cin>>l>>w>>h;
v=vs(l,w,h);
cout<<"v="<<v<<" s1="<<s1<<" s2="<<s2<<" s3="<<s3<<endl;
}

本程序中定义了三个外部变量s1、s2、s3， 用来存放三个面积，其作用域为整个程序。函数vs用来求正方体体积和三个面积， 函数的返回值为体积v。由主函数完成长、宽、高的输入及结果输出。由于Ｃ++语言规定函数的返回值只有一个， 当需要增加函数的返回数据时，用外部变量是一种方式。本例中，如不使用外部变量， 在主函数中就不可能取得v、s1、s2、s3四个值。而采用了外部变量后， 在函数vs中，求得的s1、s2、s3值在main 中仍然有效。