c语言指针问题,输入函数中*p和p的区别main( ){ int a,b,min ,*pa,*pb,*pmin ;pa=&a; pb=&b; pmin=&min; scanf( "%d%d",pa,pb);printf( "a =%d b = %d \n",a,b);if (*pa > *pb) *pmin = *pb;else *pmin = *pa;printf ("min = %d\n",min);}输入 23 67输
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/07 19:15:27
c语言指针问题,输入函数中*p和p的区别main( ){ int a,b,min ,*pa,*pb,*pmin ;pa=&a; pb=&b; pmin=&min; scanf( "%d%d",pa,pb);printf( "a =%d b = %d \n",a,b);if (*pa > *pb) *pmin = *pb;else *pmin = *pa;printf ("min = %d\n",min);}输入 23 67输
c语言指针问题,输入函数中*p和p的区别
main( )
{ int a,b,min ,*pa,*pb,*pmin ;
pa=&a; pb=&b; pmin=&min;
scanf( "%d%d",pa,pb);
printf( "a =%d b = %d \n",a,b);
if (*pa > *pb) *pmin = *pb;
else *pmin = *pa;
printf ("min = %d\n",min);
}
输入 23 67
输出 a=23 b=67
min=23
我的疑问是第四行:scanf( "%d%d",pa,pb);
这里为什么是pa 和pb ,这样输入的值不是作为a和b的地址吗?(pa=&a)
不是应该用*pa *pb吗
这个程序比较的到底是a和b的值大小还是a和b的地址大小啊
c语言指针问题,输入函数中*p和p的区别main( ){ int a,b,min ,*pa,*pb,*pmin ;pa=&a; pb=&b; pmin=&min; scanf( "%d%d",pa,pb);printf( "a =%d b = %d \n",a,b);if (*pa > *pb) *pmin = *pb;else *pmin = *pa;printf ("min = %d\n",min);}输入 23 67输
scanf要修改pa和pb
函数传递参数的时候只能传递数值
所以你传递papb2个数值过去毫无意义,不能修改变量本身
传递地址的数值过去就有意义了
可以根据地址修改变量本身
这个地址就是指针