指针并将变量值从一个函数传递到另一个函数。如何使用指针传递变量值

时间:2017-03-03 16:41:21

标签: c++ pointers pass-by-reference pass-by-pointer

我需要让碗功能将b1和b2传递到turntotal,将两者合并在一个不同的功能中。这是代码,我做错了什么?

void bowl(){
    int b1=rand()%11;
    int b2=rand()%(11-(b1));
    int turntotal(&b1,&b2);
}

int turntotal(int *b1, int *b2){
    int bowltotal;
    bowltotal=((b1)+(b2));
    return(bowltotal);
}

1 个答案:

答案 0 :(得分:0)

您需要取消引用指针以从其指向的地址获取值,以便您编写:

int turntotal(int *b1, int *b2) {
     return (*b1) + (*b2);
}

但是,您的功能并未修改其任何参数,因此您只需编写:

int turntotal(int b1, int b2) {
     return b1 + b2;
}

还行:

int turntotal(&b1,&b2);

没有意义。您可能希望将从该函数返回的值分配给新变量,以便您可以编写:

int sum = turntotal(&b1,&b2);

int sum = turntotal(b1,b2);

如果你不使用你不必要的指针。

正如评论中所述 - 这是一些基本内容,您应该考虑将学习资源更改为one of the good books.