C语言中 局部指针变量传给函数参数的过程
最后打印的值是?请高手讲一下这个过程例如:注意这里*P是个局部变量fun(int*ptr){*ptr=11;}main{int*P;fun(P);printf(%d,&P...
最后打印的值是?请高手讲一下这个过程
例如:
注意这里*P 是个局部变量
fun(int *ptr)
{
* ptr =11;
}
main
{
int * P ;
fun(P);
printf(%d , &P);
} 展开
例如:
注意这里*P 是个局部变量
fun(int *ptr)
{
* ptr =11;
}
main
{
int * P ;
fun(P);
printf(%d , &P);
} 展开
2个回答
展开全部
追问
fun(int *ptr)
{
* ptr =11;
}
main
{
int * P ;
int a ;
P = &a; //就是说改成这样是OK的吗
fun(P);
printf(%d , &P);
}
追答
这样改可以
等效把a值改为11了
但是 打印的&P值,这个是一个地址值,随机。
要打印11,需要打印*p
代码有些编译错误
修改如下
#include <stdio.h>
fun(int *ptr)
{
* ptr =11;
}
int main()
{
int * P;
int a ;
P = &a; //就是说改成这样是OK的吗
fun(P);
printf("%d" , &P);//会是随机值
printf("\n%d\n" , *P);//会是11
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询