2017-03-03 14 views
0

私は、ボウルの機能をb1とb2をターンテーブルに通して、別の機能で2つを一緒に追加する必要があります。ここでコードは、私は間違って何ですか?ポインタと変数値をある関数から別の関数に渡します。ポインタを使って変数の値を渡す方法

あなたはそれはあなたが書くでしょうを指すアドレスから値を取得するには、ポインタを間接参照する必要が
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); 
} 
+2

にあなたの学習リソースを変更することを検討すべきである[ここ](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)、あなたが必要とするように見えます。 – molbdnilo

答えて

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.

関連する問題