函数中如何传递带有两个参数的指针?

How does one pass by pointers with two arguments in function?

本文关键字:两个 参数 指针 何传递 函数      更新时间:2023-10-16

是否有人可以演示如何使用一个函数传递指针,该函数从两个变量中获取两个参数作为输入?

#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;
}

有困难。

像这样:

int X, Y;
int main()
{
    cout<<"enter two values: ";
    cin>>X;
    cin>>Y;
    cout<<"RESULT = "<<passPoints(&X,&Y);
    return 0;
}

在你的代码中最大的问题(如果它不是一个错别字,当你提取的问题)是,int* X和Y是空指针,他们所指向的位置是无效的,你更新。您需要确保这些指针指向有效的内存位置,可以通过以下方式:

int x, y;
int* xPtr = &x;
int* yPtr = &y;
passPoints(xPtr, yPtr);

int x, y;
passPoints(&x, &y);

现在passPoints()接收到的指针是有效指针