苹果妹妹爱学习 发表于 2020-7-20 09:45:09

求助一下!

#include<stdio.h>
void main()
{
    int *p1,*p2,*p3,*p,a,b,c;
   printf("请输入三个数:\n");
    scanf("%d,%d,%d",&a,&b,&c);

    p1=&a;
    p2=&b;
    p3=&c;
       
    if(a<b)
    {
      p=p1;
      p1=p2;
      p2=p;
    }
    if(a<c)
    {
      p=p1;
      p1=p3;
      p3=p;
    }
    if(b<c)
    {
      p=p2;
      p2=p3;
      p3=p;
    }
    printf("c从大到小输出是:%d,%d,%d",*p1,*p2,*p3);
}

为什么得不到正确值

zltzlt 发表于 2020-7-20 09:47:40

我这里运行并没有问题呀?

请输入三个数:
2,3,1
c从大到小输出是:3,2,1

苹果妹妹爱学习 发表于 2020-7-20 09:48:42

呜呜呜难道我的visual c++是假的??

livcui 发表于 2020-7-20 09:49:38

苹果妹妹爱学习 发表于 2020-7-20 09:48
呜呜呜难道我的visual c++是假的??

C++?
这全是C啊

zltzlt 发表于 2020-7-20 09:49:57

苹果妹妹爱学习 发表于 2020-7-20 09:48
呜呜呜难道我的visual c++是假的??

这样看看可不可以:

#include <stdio.h>
int main()
{
    int *p1, *p2, *p3, *p, a, b, c;
    printf("请输入三个数:\n");
    scanf("%d,%d,%d", &a, &b, &c);

    p1 = &a;
    p2 = &b;
    p3 = &c;

    if (a < b)
    {
      p = p1;
      p1 = p2;
      p2 = p;
    }
    if (a < c)
    {
      p = p1;
      p1 = p3;
      p3 = p;
    }
    if (b < c)
    {
      p = p2;
      p2 = p3;
      p3 = p;
    }
    printf("c从大到小输出是:%d,%d,%d", *p1, *p2, *p3);
    return 0;
}

苹果妹妹爱学习 发表于 2020-7-20 09:57:31

zltzlt 发表于 2020-7-20 09:49
这样看看可不可以:

还是不行

zltzlt 发表于 2020-7-20 09:58:04

苹果妹妹爱学习 发表于 2020-7-20 09:57
还是不行

有没有报错?

苹果妹妹爱学习 发表于 2020-7-20 09:59:23

没有 应该是我用错了

苹果妹妹爱学习 发表于 2020-7-20 10:00:44

就出来乱码

zltzlt 发表于 2020-7-20 10:15:05

苹果妹妹爱学习 发表于 2020-7-20 10:00
就出来乱码

编码问题,将文件编码改为 GBK 试试

苹果妹妹爱学习 发表于 2020-7-20 10:16:40

呜呜呜我换了一种写法
页: [1]
查看完整版本: 求助一下!