我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

交换a,b的值并输出为什么用三个指针不行,按下面代码无输出🙏

#include<stdio.h>
int main()
{
int a,b;
int *p1,*p2,*t;
p1=&a,p2=&b;
scanf("%d %d",p1,p2);
if(a<b)
{
*t=*p1;
*p1=*p2;
*p2=*t;
}
printf("%d %d",a,b);
return 0;
}

指针p1和p2指向的分别是a和b,但是t中并没有存储地址,当对t进行解引用操作的时候就造成了野指针的问题,也就是非法访问,程序崩溃。

没有给t分配指向的空间,*t的操作是非法的

近期文章

  • c#无法使用QtCreator封装的dll,报错误System.BadImageFormatException
  • 为什么括号内想减不是零呢
  • Apache和tomcat的整合后,无法打开apache
  • Python要怎么改才能符合题意
  • 画PCB板遇到了问题,求各位解答
  • 我没相通为什么Pycharm设置运行程序的快捷键为shift+F10
  • 关于xgen的一些问题
  • 打印链栈元素之后,程序异常退出。
  • add name="SQLiteDB"中SQLiteDB是什么
  • vmware虚拟机无法连上外部smtp邮件服务器
  • 装完Ubuntu系统之后,开机进入Ubuntu之后报错,有知道怎么解决吗?
  • 如何让SDL用已创建的QT中的label播放视频
  • 输入月收入30000,程序运行结果为2290。但计算器算出来是3590
  • 为什么打开vscode后会出现这种报错
  • 求两个矩阵所有行向量之间的欧氏距离
  • 小程序的页面渲染优化
  • 前后端交互,写http页面与php的交互405
  • 关于#mysql#的问题,如何解决?
  • 如何用C++获取程序名?
  • 有很多错误,怎么更改。

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华