C言語の名前渡し機構を使って、インデックスiに依存する算術式^2 + 3i − 1の値を計算するにはどうすればよいですか?
9
∑ i^2 + 3i − 1
=0
名前で渡された引数を使用して sum プロシージャを呼び出す
Cで書かれた名前渡しの例も私を助けることができます
C言語の名前渡し機構を使って、インデックスiに依存する算術式^2 + 3i − 1の値を計算するにはどうすればよいですか?
9
∑ i^2 + 3i − 1
=0
名前で渡された引数を使用して sum プロシージャを呼び出す
Cで書かれた名前渡しの例も私を助けることができます
ここには、2 つのまったく異なるトピックがあります。
(1) を使用して (2) を解決することもできますが、それは良い方法ではありません。
(2) を例として (1) を学習することができます。
しかし、(1) と (2) は同じものではないことは明らかです。
これは、C で関数に値を渡す方法です。void f(int i); ... f(123);
これは、C で関数へのポインターを渡す方法です。void f(int* i); ... int i=123; f(&i);
これは、C で合計を計算する一般的な方法です。
int sum = 0;
for(int i=0; i<=9; ++i)
sum += 2 + 3*i - 1;
// now sum contains the sum
なんらかの理由 (宿題の要件など) で、合計を計算するためにポインターを渡したい場合は、次のようにします。
void f(int* psum, int i) {
*psum += 2 + 3*i - 1;
}
...
int sum=0;
for(int i=0; i<=9; ++i)
f(&sum, i);