指针(比较三个数的大小)
为什么下面这个编辑运行后输入三个数字后什么结果也没有出来,问题出在哪呢#include <stdio.h>
int main()
{
int a,b,c;
int *d, *e, *f, *g;
printf("请输入三个数:");
scanf("%d%d%d",&a,&b,&c);
d=&a;
e=&b;
f=&c;
if (a>b)
{
*g= a;
a=b;
b=*g;
}
if (a>c)
{
*g=a;
a=c;
c=*g;
}
if(b>c)
{
*g=b;
b=c;
c=*g;
}
printf("%d <= %d <= %d \n", *d,*e,*f);
return 0;
}
指针g没初始化 g是野指针,没有指向有意义的内存空间 g = (int *)malloc(sizeof(int));
在判断之前加这句 han125416866 发表于 2021-2-19 17:35
指针g没初始化
初始化了也还是什么都没出来呢 448093190 发表于 2021-2-20 12:20
初始化了也还是什么都没出来呢
在定义一个变量赋给指针g 就OK了 448093190 发表于 2021-2-20 12:20
初始化了也还是什么都没出来呢
https://www.bilibili.com/video/BV17s411N78s?p=25
如果还不明白就看看这个小甲鱼讲的很明白 g指针没初始化把
页:
[1]