c语言小问题 但是怎么解决啊
#include<stdio.h>intmain(){intm,n,r;int*p,*q,*t;printf("pleaseinputm,n");scanf("%d,%d...
#include <stdio.h>
int main()
{
int m,n,r;
int *p,*q,*t;
printf("please input m , n ");
scanf("%d,%d",&m,&n);
printf("%d%d\n",m,n);
r=*p;*p=*q;*q=r;
printf("%d%d\n",m,n);
printf("%d%d\n",*p,*q);
return 0;
}
不报错 然后 运行 时候提示错误啊? 展开
int main()
{
int m,n,r;
int *p,*q,*t;
printf("please input m , n ");
scanf("%d,%d",&m,&n);
printf("%d%d\n",m,n);
r=*p;*p=*q;*q=r;
printf("%d%d\n",m,n);
printf("%d%d\n",*p,*q);
return 0;
}
不报错 然后 运行 时候提示错误啊? 展开
3个回答
展开全部
p,q,t指针怎么都没有指向地址?所以你在*p=*q的时候会出现段错误的,因为非法访问内存呀。
追问
#include
int main()
{
int m,n,r;
int *p,*q,*j;
printf("please input m , n ");
scanf("%d,%d",&m,&n);
printf("%d%d\n",m,n);
*p=&m;*q=&n;
r=*p;*p=*q;*q=r;
printf("%d%d\n",m,n);
printf("%d%d\n",*p,*q);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
int m,n,r;
int *p,*q,*t;
printf("please input m , n ");
scanf("%d,%d",&m,&n);
printf("%d%d\n",m,n);
q=&r;p=&m;q=&n;
r=*p;*p=*q;*q=r;
printf("%d%d\n",m,n);
printf("%d%d\n",*p,*q);
return 0;
}
int main()
{
int m,n,r;
int *p,*q,*t;
printf("please input m , n ");
scanf("%d,%d",&m,&n);
printf("%d%d\n",m,n);
q=&r;p=&m;q=&n;
r=*p;*p=*q;*q=r;
printf("%d%d\n",m,n);
printf("%d%d\n",*p,*q);
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义指针时指针要有指向 如int *p;p=&a; 你定义的是野指针 指针会乱指
更多追问追答
追问
是这 的问题吗 ?
追答
难道这不是问题吗 谁敢说这不是问题 那么只能说TA没学C++ 上面这个网友不也说是这个问题吗?q=&r;p=&m;q=&n; 你所采纳的答案的指针就有指向了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询