0

我需要让碗函数将 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);
}
4

1 回答 1

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);

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

正如评论中所建议的 - 这是一些基本的东西,您应该考虑将您的学习资源更改为一本好书。

于 2017-03-03T16:54:03.963 回答