C语言指针赋初值问题

2022-04-23 教育 43阅读
int*p1=0,*p2=0,*p3=0;这里赋的是地址,指针都指向地址为0的空间就是空指针,没有实体存在,所以后便全错了。
#include
#include
voidmain()
{
int*p1=(int*)malloc(sizeof(int)),*p2=(int*)malloc(sizeof(int)),*p3=(int*)malloc(sizeof(int)),*c;
*p1=0;
*p2=0;
*p3=0;
printf("请输入任意三个整数(中间以空格隔开:)");
scanf("%d%d%d",p1,p2,p3);
if(*p1>*p2)
{c=p1;p1=p2;p2=c;}
if(*p2>*p3)
{c=p2;p2=p3;p3=c;}
if(*p1>*p2)
{c=p1;p1=p2;p2=c;}
printf("%d,%d,%d\n",*p1,*p2,*p3);
}
一楼说的是对的,回答问题是并行的,早知道他答了,我就不回答了,还有你的数值交换还存在很大的问题。你自己看看吧。
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com