c语言,指针指向另一个指针的问题,为什么报错?
#include<stdio.h>main(){inta[]={1,2,3,4,5,6,7,8,9};int*p=a+5,*q=NULL;*q=*(p+5);printf...
#include <stdio. h>
main ()
{
int a[]={1,2,3,4,5,6,7,8,9};
int *p=a+5,*q=NULL;
*q=* (p+5);
printf ("%d%d",*p,*q);
} 展开
main ()
{
int a[]={1,2,3,4,5,6,7,8,9};
int *p=a+5,*q=NULL;
*q=* (p+5);
printf ("%d%d",*p,*q);
} 展开
4个回答
展开全部
声明时 int *q = NULL;
这就是计算机最害怕的野指针,哦不,这还不是野指针,是强行指向0x0000 0000的必杀指针……
你可以声明一个临时变量并将q指向它,但千万千万千万千万千万千万千万千万不可以让一个指针指向受保护的空间并尝试写入!!!!
例如可以改为:
int *p=a+5, temp, *q=&temp;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最佳答案:这就是计算机最害怕的野指针,哦不,这还不是野指针,是强行指向0x0000 0000的必杀指针……你可以声明...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询