安静路过 发表于 2018-8-4 22:54:39

在比较大小中,为什么这个代码运行不了QAQ

#include <stdio.h>
int main()
{
        int a,b,c,min,max;
        printf("please input three number:    ");
        scanf("%d%d%d",&a,&b,&c);
        max=(a>b?a:(c>a?c:(a<b?b:a)));
        min=(a<b?a:(c<a?c:(a>b?b:a)));
        Printf("min=%d,max=%d\n",min,max);
}

安静路过 发表于 2018-8-4 22:56:09

{:9_221:}

DASHUAIZI 发表于 2018-8-4 23:15:39

printf中的P大写了吧,而且函数没有返回值,之前是int main() int 表示返回值

无符号整形 发表于 2018-8-5 08:27:42

https://fishc.com.cn/thread-119661-1-1.html
printf P大写了,由于C语言的默认int特性语法检测过了,但是由于链接器找不到函数本体报错退出。

qwedc001 发表于 2018-8-5 08:37:04

错误1:printf,你写的是Printf
错误2:顶部是int,所以需要return 0;

不再想起y 发表于 2018-8-5 11:52:35

#include <stdio.h>
int main()
{
      int a,b,c,min,max;
      printf("please input three number:    ");
      while(scanf("%d %d %d",&a,&b,&c))
      {

            max=(a>b?(a>c?a:c):(b>c?b:c));//原来那个逻辑有点问题
            min=(a<b?(a<c?a:c):(b<c?b:c));
            printf("min=%d,max=%d\n",min,max);
            printf("please input three number(q to quit):    ");//p改为小写
      }

      return 0;
}

刘大靌 发表于 2018-8-6 10:13:57

你这个程序没考虑到三个数相同的情况和两个数相同的情况,如(2,2,2,),(2,2,3),但你的程序还是可以在这两种情况下运行出结果,我也是无语了。我修改了一下你的程序;
#include <stdio.h>
int main()
{
      int a,b,c,min,max;
      printf("please input three number:    ");
      scanf("%d%d%d",&a,&b,&c);
      max=(a>=b?a:(c>=a?c:(a<=b?b:a)));
      min=(a<=b?a:(c<=a?c:(a>=b?b:a)));
      printf("min=%d,max=%d\n",min,max);
}

刘大靌 发表于 2018-8-6 10:21:44

参考

安静路过 发表于 2018-8-6 20:25:20

刘大靌 发表于 2018-8-6 10:13
你这个程序没考虑到三个数相同的情况和两个数相同的情况,如(2,2,2,),(2,2,3),但你的程序还是可 ...

谢谢大大!{:7_113:}
页: [1]
查看完整版本: 在比较大小中,为什么这个代码运行不了QAQ