乌拉达 发表于 2021-9-5 13:30:11

为什么求不了最大值

#include<stdio.h>
int main()
{
    int a,b,c,max;
    scanf( "%d%d%d ",&a,&b,&c);
    max=a;
    if(b>a)max=b;
    if(c>max)max=c;
    printf( "%d ",max);
    return 0;
}

wp231957 发表于 2021-9-5 13:46:46

发一下你执行过程

大马强 发表于 2021-9-5 13:48:21

不能求吗?是不是你scanf那里的问题
#include<stdio.h>
int main()
{
    int a,b,c,max;
    scanf("%d%d%d",&a,&b,&c);
    max=a;
    if(b>a)max=b;
    if(c>max)max=c;
    printf( "%d ",max);
    return 0;
}

大马强 发表于 2021-9-5 13:50:24

大马强 发表于 2021-9-5 13:48
不能求吗?是不是你scanf那里的问题

你要遵守你scanf里的格式输入才行

乌拉达 发表于 2021-9-5 13:54:23

不知道啊一运行就是第一个数最大

乌拉达 发表于 2021-9-5 13:54:53

是不是可能符号不是英文的

溪苏 发表于 2021-9-5 14:08:48

输入的%d用空格空开

LoveSMY 发表于 2021-9-5 14:33:36

本帖最后由 LoveSMY 于 2021-9-5 14:41 编辑

scanf("%d,%d,%d",&a,&b,&c);

乌拉达 发表于 2021-9-5 15:20:27

OK了是符合错了

AUST001 发表于 2021-9-5 15:24:42

本帖最后由 AUST001 于 2021-9-5 15:26 编辑

1.正确代码如下:
#include<stdio.h>
int main()
{
    int a, b, c, max;
    scanf( "%d %d %d", &a, &b, &c);//注意这里的空格,与下文输入对应
    max = a;
    if(b > a) max = b;
    if(c > max) max = c;
    printf("%d", max);
    return 0;
}
2.输出格式
1 2 3
注意每次输入的数之间要加个空格
3.问题原因:scanf( "%d%d%d", &a, &b, &c);//没有在变量之间加空格,如果在输入数据时按回车则会出错,这里必须按照格式输入
scanf( "%d,%d,%d", &a, &b, &c);//输入:1,2,3也是可以的,关键是要能对应上
4.另外在这个在线编译器里:https://www.dooccn.com/c/
你的写法也是支持的
页: [1]
查看完整版本: 为什么求不了最大值