私は初心者です。何か奇妙なことを見つけたとき、私はポインターを操作していました。
#include<stdio.h>
int* fun(int*);
int main()
{
int i=4,*j;
j=fun(&i);
printf("%d ",*j);//gives correct answer -> how??
printf("%d",*j);//gives incorrect answer
}
int* fun(int *i)
{
int k;
k=*i;
return (&k);
}
printf ( main(), I am using
"%d ",*j);` で 2 回。最初のものは私に正しい答えを与えていますが、2番目のものはそうではありません。なんで?
しかし、これはうまく機能しています- #include int *func();
int main()
{
int *p;
p=func();
printf("%u", p);
printf("\n%d", *p);
printf("\n%d", *p);
printf("\n%d", *p);
printf("\n%d", *p);
}
int* func()
{
int i=10;
printf("%u", &i);
printf("\n%d", i);
return (&i);
}