有人可以演示如何使用一个函数传递指针,该函数将两个变量中的两个参数作为输入吗?
#include <iostream>
using namespace std;
int passPoints(int *x, int *y)
{
int y = *x * *y;
return(y);
}
int *X, *Y;
int main()
{
cout<<"enter two values: ";
cin>>*X;
cin>>*Y;
cout<<"RESULT = "<<passPoints(X,Y);
return 0;
}
遇到麻烦。
答案 0 :(得分:3)
像这样:
int X, Y;
int main()
{
cout<<"enter two values: ";
cin>>X;
cin>>Y;
cout<<"RESULT = "<<passPoints(&X,&Y);
return 0;
}
答案 1 :(得分:1)
您的代码中最大的问题(如果在提取问题时它不是拼写错误)是,int * X和Y是空指针,它们指向的位置对您无法更新。您需要确保这些指针指向有效的内存位置,方法是:
int x, y;
int* xPtr = &x;
int* yPtr = &y;
passPoints(xPtr, yPtr);
或只是
int x, y;
passPoints(&x, &y);
现在passPoints()
收到的指针是有效的指针