稚白 发表于 2020-9-22 22:00:54

c语言求助

代码如下
int main()
{
        int a,b,c,max,min;
        printf("please input three numbers:");
        scanf("%d,%d,%d",&a,&b,&c);
        if(a<b)
        {
        max=b<c?c:b;
        min=a<c?a:c;
        printf("max=%d,min=%d\n",max,min);
        }
        else if(a>b)
        {
        max=a>c?a:c;
        min=b>c?c:b;
        printf("max=%d,min=%d\n",max,min);
        }
        else
        {
        max=a>c?a:c;
        min=a<c?a:c;
        printf("max=%d,min=%d\n",max,min);
        }
}



我使用的是Dev-c++,运行结果时,虽然结果是正确的,但不知道为什么会输出两遍。
希望能得到大家的帮助

baige 发表于 2020-9-22 22:12:30


不会啊

巴巴鲁 发表于 2020-9-22 22:22:15

你的代码没有问题啊,而且可以写的简单些
#include <stdio.h>
int main()
{
      int a,b,c,max,min;
      printf("please input three numbers:");
      scanf("%d,%d,%d",&a,&b,&c);
      if(a<b)
      {
      max=b<c?c:b;
      min=a<c?a:c;
      printf("max=%d,min=%d\n",max,min);
      }
      else
      {
      max=a>c?a:c;
      min=b>c?c:b;
      printf("max=%d,min=%d\n",max,min);
      }
      /*else
      {
      max=a>c?a:c;
      min=a<c?a:c;
      printf("max=%d,min=%d\n",max,min);
      }*/
}

稚白 发表于 2020-9-22 22:32:48

baige 发表于 2020-9-22 22:12
不会啊

我使用的是Dec-C++,你用的也是这个软件吗?

baige 发表于 2020-9-22 22:35:01

稚白 发表于 2020-9-22 22:32
我使用的是Dec-C++,你用的也是这个软件吗?

一样的

稚白 发表于 2020-9-22 22:36:22

巴巴鲁 发表于 2020-9-22 22:22
你的代码没有问题啊,而且可以写的简单些

我是自学的,第19行至第24行的“/*”我还没有学到,不清楚是什么意思。。。
我使用的软件是Dev-C++,输出结果时确实会输出两遍。
因为刚来这个网站,我不知道该怎么上传图片,只能用语言来描述了。。。

巴巴鲁 发表于 2020-9-22 22:50:25

稚白 发表于 2020-9-22 22:36
我是自学的,第19行至第24行的“/*”我还没有学到,不清楚是什么意思。。。
我使用的软件是Dev-C++,输 ...

我也是dev,你记住这是注释就行了,后面会学到吧
程序不会执行,方便别人和自己看的

稚白 发表于 2020-9-22 22:56:02

巴巴鲁 发表于 2020-9-22 22:50
我也是dev,你记住这是注释就行了,后面会学到吧
程序不会执行,方便别人和自己看的

这样改动之后运行结果只输出一遍了,但是输入5,5,6时就无法输出结果了。
而我原来的那段代码输入5,5,6时结果是正确的,并且只输出了一遍
这是为什么呢?

baige 发表于 2020-9-22 23:08:45

稚白 发表于 2020-9-22 22:56
这样改动之后运行结果只输出一遍了,但是输入5,5,6时就无法输出结果了。
而我原来的那段代码输入5,5 ...

你可以把输出结果复制过来

baige 发表于 2020-9-22 23:18:25

稚白 发表于 2020-9-22 22:56
这样改动之后运行结果只输出一遍了,但是输入5,5,6时就无法输出结果了。
而我原来的那段代码输入5,5 ...

你也可以试着把scanf里面的分号去掉,这样输入用空格隔开,避免可能你输入时会输入中文分号,就会导致结果错误

稚白 发表于 2020-9-23 08:55:33

本帖最后由 稚白 于 2020-9-23 09:05 编辑

baige 发表于 2020-9-22 23:08
你可以把输出结果复制过来

今天我再去运行的时候就恢复正常了,结果只输出了一遍,但昨天确实是输出了两遍,我有保留截图
为什么会这样我也很迷惑,但总之谢谢你的回复!

稚白 发表于 2020-9-23 09:03:36

baige 发表于 2020-9-22 23:08
你可以把输出结果复制过来

今天我再去运行的时候,运行结果就正常了,只输出一遍了,但昨天的时候确实是输出了两遍,我有保留截图
为什么会这样我也很迷惑
但总之,谢谢你的回复!

稚白 发表于 2020-9-23 09:06:38

baige 发表于 2020-9-22 23:18
你也可以试着把scanf里面的分号去掉,这样输入用空格隔开,避免可能你输入时会输入中文分号,就会导致 ...

是的,之前我也犯过这个错误,好一会之后才发现

巴巴鲁 发表于 2020-9-23 15:41:49

稚白 发表于 2020-9-23 09:03
今天我再去运行的时候,运行结果就正常了,只输出一遍了,但昨天的时候确实是输出了两遍,我有保留截图
...

这么神奇么嘛?
页: [1]
查看完整版本: c语言求助