作业帮 > 综合 > 作业

C语言中*p=*p1*(*p2);是什么意思

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 00:12:19
C语言中*p=*p1*(*p2);是什么意思
int main(void)
{
int a=1,b=3,c=5,*p;
int *p1=&a,*p2=&b,*p3=&c;
*p=*p1*(*p2);
printf("%d\n",*p);
return 0;
}
你首先要懂一点指针的基本知识;
1.int *p1=&a,*p2=&b;
则表示p1和p2是两个指针,分别指向变量a和b.
int *p;表示p也是指针,指向不明(所以这里指向不明,是不好的,要给p赋值).
2.*p和*p1,*p2代表指针指向的内容,即未知和a,b
3.*p=*p1*(*p2);要注意第3个*是代表乘号,其余是指针的用途
*p=*p1*(*p2)就代表*p=a*b
再问: 是第3个*代表乘号还是第2个*代表乘号呢?
再答: 第3个撒,其实就是等价于: *p=(*p1) × (*p2) 但是c语言中没有×号,是用*号作为乘号了,二指针也是用的*,你可能就是这里混淆了