C++ 使用函数';主函数中的s局部变量
我试着搜索awnsers,但是所有的线程都是不同的LangC++ 使用函数';主函数中的s局部变量,c++,function,C++,Function,我试着搜索awnsers,但是所有的线程都是不同的Lang #include <cstdlib> #include <iostream> #include <math.h> using namespace std; void calcDistance (int x1, int y1, int x2, int y2); int main() { int x1, y1, x2, y2; cout << "Enter the poin
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
void calcDistance (int x1, int y1, int x2, int y2);
int main()
{
int x1, y1, x2, y2;
cout << "Enter the points in coordinate pair form, ommiting parantheses" << endl;
cin >> x1 >> y1 >> x2 >> y2;
calcDistance (x1, y1, x2, y2);
system("pause");
// how do I cout the dist in main-- says dist isn't declared
}
void calcDistance (int x1, int y1, int x2, int y2)
{
int sideA;
sideA = x2 - x1;
int sideB;
sideB = y2 -y1;
int sideAsqd;
sideAsqd = sideA * sideA;
int sideBsqd;
sideBsqd = sideB * sideB;
int sideCsqd;
sideCsqd = sideAsqd + sideBsqd;
double dist;
dist = sqrt(sideCsqd);
cout << "The calculated distance is "<< dist << endl;
}
#包括
#包括
#包括
使用名称空间std;
空隙距离(int-x1、int-y1、int-x2、int-y2);
int main()
{
int-x1,y1,x2,y2;
cout x1>>y1>>x2>>y2;
钙距离(x1,y1,x2,y2);
系统(“暂停”);
//我怎么才能在main中找到dist呢?说dist没有声明
}
空距(整数x1、整数y1、整数x2、整数y2)
{
内西达;
sideA=x2-x1;
int sideB;
sideB=y2-y1;
int sideAsqd;
sideAsqd=sideA*sideA;
int sideBsqd;
sideBsqd=sideB*sideB;
int sideCsqd;
sideCsqd=sideAsqd+sideBsqd;
双区;
dist=sqrt(sideCsqd);
不能更改您的功能:
double calcDistance (int x1, int y1, int x2, int y2)
{
int sideA = x2 - x1;
int sideB = y2 -y1;
int sideAsqd = sideA * sideA;
int sideBsqd = sideB * sideB;
int sideCsqd = sideAsqd + sideBsqd;
double dist = sqrt(sideCsqd);
return dist;
}
主要是这样做的:
double res = calcDistance (x1, y1, x2, y2);
cout << "The calculated distance is "<< res << endl;
double res=calcDistance(x1,y1,x2,y2);
不能更改您的功能:
double calcDistance (int x1, int y1, int x2, int y2)
{
int sideA = x2 - x1;
int sideB = y2 -y1;
int sideAsqd = sideA * sideA;
int sideBsqd = sideB * sideB;
int sideCsqd = sideAsqd + sideBsqd;
double dist = sqrt(sideCsqd);
return dist;
}
主要是这样做的:
double res = calcDistance (x1, y1, x2, y2);
cout << "The calculated distance is "<< res << endl;
double res=calcDistance(x1,y1,x2,y2);
cout给定一个函数,比如
void calcDistance (int x1, int y1, int x2, int y2)
{
//...
double dist;
//...
}
变量dist
在右大括号处超出范围,因此您不仅不能从其他地方引用它,而且在函数之外它也不存在。
如果您想在其他地方使用该值,请将其返回:
double calcDistance (int x1, int y1, int x2, int y2)
{
//...
double dist;
//...
return dist;
}
要在其他地方使用它,只需捕获回报:
double distance = calcDistance(1,2,3,4);
现在您有了另一个名为距离的局部变量,可以使用它。给定一个函数,比如
void calcDistance (int x1, int y1, int x2, int y2)
{
//...
double dist;
//...
}
变量dist
在右大括号处超出范围,因此您不仅不能从其他地方引用它,而且在函数之外它也不存在。
如果您想在其他地方使用该值,请将其返回:
double calcDistance (int x1, int y1, int x2, int y2)
{
//...
double dist;
//...
return dist;
}
要在其他地方使用它,只需捕获回报:
double distance = calcDistance(1,2,3,4);
现在您可以使用另一个名为distance
的局部变量。在行尾有一些分号,应该写入int sideA=x2-x1;
等。它们也可能是常量;-)顺便说一句,您也可以跳过dist
,只需写入返回sqrt(sideCsquared)
直接。行尾有一些分号时,应写入int sideA=x2-x1;
等。可能它们也是常量;-)顺便说一句,您也可以跳过dist
直接写入返回sqrt(sideCsquared);
直接。