引数にポインタをもつ関数を他の関数で呼ぶときに2回目以降になるとポインタの参照元の値が得られなくなったのですがどうしたら参照元の値を得られるでしょうか?
うまく日本語で伝えられなくてすいません、要はfunc_2関数のprintfでmain関数のjの値を表示する方法が知りたいです。
c言語
1#include<stdio.h> 2 3void func_1(int s,int *a); 4void func_2(int s,int *a); 5 6void func_1(int s,int *a){ 7 8 printf("s=%d,&a=%d,*a=%d,\n",s,&a,*a); 9 10 func_2(s,&a); 11} 12 13void func_2(int s,int *a){ 14 15 printf("s=%d,&a=%d,*a=%d\n",s,&a,*a); 16 17} 18 19int main(void){ 20 21 int i,j; 22 i=0; 23 j=2; 24 int *a; 25 a=&j; 26 printf("s=%d,&a=%d,*a=%d\n",i,&a,*a); 27 func_1(i,a); 28 29}![実行結果](e633a9005a4f7fc557cfb78d29ed6029.png)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。