448093190 发表于 2021-2-19 14:46:46

指针(比较三个数的大小)

为什么下面这个编辑运行后输入三个数字后什么结果也没有出来,问题出在哪呢

#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;
}

han125416866 发表于 2021-2-19 17:35:10

指针g没初始化

人中仙 发表于 2021-2-19 18:04:24

g是野指针,没有指向有意义的内存空间

4goodworld 发表于 2021-2-19 21:30:22

g = (int *)malloc(sizeof(int));
在判断之前加这句

448093190 发表于 2021-2-20 12:20:29

han125416866 发表于 2021-2-19 17:35
指针g没初始化

初始化了也还是什么都没出来呢

han125416866 发表于 2021-2-20 15:43:42

448093190 发表于 2021-2-20 12:20
初始化了也还是什么都没出来呢

在定义一个变量赋给指针g 就OK了

han125416866 发表于 2021-2-20 15:49:52

448093190 发表于 2021-2-20 12:20
初始化了也还是什么都没出来呢

https://www.bilibili.com/video/BV17s411N78s?p=25
如果还不明白就看看这个小甲鱼讲的很明白

水上漂飞飞飞 发表于 2021-2-20 16:20:17

g指针没初始化把
页: [1]
查看完整版本: 指针(比较三个数的大小)