p是指针变量,*p=a和p=&a的区别#includevoid main() { int a,b;int *pa,*pb; a=10;b=20; *pa=a;*pb=b;printf("%d,%d\n",*pa,*pb);printf("%x,%x\n",pa,pb);printf("%x,%x\n",&a,&b);}结果输出为:10,20354,7d5ffda,ffdc为什么程序最后两行输出
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/25 18:54:29
p是指针变量,*p=a和p=&a的区别#includevoid main() { int a,b;int *pa,*pb; a=10;b=20; *pa=a;*pb=b;printf("%d,%d\n",*pa,*pb);printf("%x,%x\n",pa,pb);printf("%x,%x\n",&a,&b);}结果输出为:10,20354,7d5ffda,ffdc为什么程序最后两行输出
p是指针变量,*p=a和p=&a的区别
#include
void main()
{
int a,b;
int *pa,*pb;
a=10;b=20;
*pa=a;*pb=b;
printf("%d,%d\n",*pa,*pb);
printf("%x,%x\n",pa,pb);
printf("%x,%x\n",&a,&b);
}
结果输出为:
10,20
354,7d5
ffda,ffdc
为什么程序最后两行输出的结果不一样呢?按说应该都输出a和b的地址才对.
p是指针变量,*p=a和p=&a的区别#includevoid main() { int a,b;int *pa,*pb; a=10;b=20; *pa=a;*pb=b;printf("%d,%d\n",*pa,*pb);printf("%x,%x\n",pa,pb);printf("%x,%x\n",&a,&b);}结果输出为:10,20354,7d5ffda,ffdc为什么程序最后两行输出
1
*p=a; //表示将a的值赋给p所指单元.
p=&a; //表示将p指向a单元,即将a单元的地址赋给p.
2
int a,b;
int *pa,*pb;
a=10;b=20;
*pa=a;*pb=b; //这两个语句有问题.pa,pb是野指针,没有指向任何单元.
printf("%d,%d\n",*pa,*pb);
printf("%x,%x\n",pa,pb); //pa,pb的野指针,其值不确定.
printf("%x,%x\n",&a,&b); //输出a,b的地址.