#include void main() { int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm);*(p=&n)=*pk*(*pm);我以为*(p=&n)与*n等价,不就是6=2*4;但实际是n=8我认为指针中的星号意为所指地址的内容.(除多维数组指针.)

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/21 09:35:09

#include void main() { int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm);*(p=&n)=*pk*(*pm);我以为*(p=&n)与*n等价,不就是6=2*4;但实际是n=8我认为指针中的星号意为所指地址的内容.(除多维数组指针.)
#include void main() { int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm);
*(p=&n)=*pk*(*pm);
我以为*(p=&n)与*n等价,不就是6=2*4;
但实际是n=8
我认为指针中的星号意为所指地址的内容.(除多维数组指针.)

#include void main() { int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm);*(p=&n)=*pk*(*pm);我以为*(p=&n)与*n等价,不就是6=2*4;但实际是n=8我认为指针中的星号意为所指地址的内容.(除多维数组指针.)
*(p=&n)=*pk*(*pm);
拆解表达式如下
p=&n 即指针p 指向n的地址
*(p=&n) 即 *p 即n的值
n = 2*4 = 8