指针问题求大神解答
#include<stdio.h>
main()
{
int a=10,b=20,s,t,*pa,*pb;
pa=&a;
pb=&b;
s=*pa+*pb;
t=(*pa)**pa;
printf("a=%d\nb=%d\na+b=%d\na*b=%d\n",a,b,a+b,a*b);
printf("s=%d\nt=%d\n",s,t);
}
问一下,为什么输出的时候显示的t=100而不是t=200啊 指针
[解决办法]
先说一下你是怎么理解等于200的,过程是。。。。
[解决办法]
int a = 10;
int *pa = &a; // *pa的值就是10
t = (*pa)**pa; // 10*10=100
[解决办法]
pa=&a; // a = 10, pa指向a的地址,*pa = 10, 这个能理解吧。
pb=&b;
s=*pa+*pb;
t=(*pa)**pa; // 如果写成 t = (*pa) * (*pa); 即:t = 10 * 10 = 100, 这样就好理解些了