次の2つのコードについて、わからないことがあったので質問させていただきます。
一つ目のコードでsum変数を関数内で参照し、値を変えることができているのに、二つ目のコードで関数内でaとbの値を変えられないのはなぜでしょうか。
c
1int sum = 0; 2 3int add_point(int); 4 5int main(){ 6 int all_ point = 0; 7 all_point = add_point(10); /* all_point == 10*/ 8 all_point = add_point(20); /* all_point == 30*/ 9} 10 11int add_point(int x){ 12 sum += x; 13 return sum; 14}
c
1void swap(int, int); /* 数値を入れ替える(ことを目的とした)関数 */ 2 3int main(){ 4 int a = 5, b = 10; 5 swap(a, b); /*a == 5, b == 10 となり入れ替わっていない*/ 6} 7 8void swap(int x, int y){ 9 int tmp; 10 tmp = y; 11 y = x; 12 x = tmp; 13}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/16 08:32
2019/11/16 08:49 編集
2019/11/16 09:01 編集
2019/11/16 09:30