风行回首 发表于 2019-9-7 14:31:24

vs 2017 scanf 被忽略????

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

风行回首 发表于 2019-9-7 14:33:38

我在 dev c++ 和vc6.0输出也有问题 没有输出最大值 输出的是我输入的第一个值

jackz007 发表于 2019-9-7 15:37:31

本帖最后由 jackz007 于 2019-9-7 15:40 编辑

建议去掉scanf()中,两个%d之间的逗号,否则,输入的时候,两个值之间必须用逗号分隔

隔壁家的杰瑞 发表于 2019-9-7 16:01:13

将scanf中两个%d之间的逗号改为空格试试

一个账号 发表于 2019-9-7 18:29:54

本帖最后由 一个账号 于 2019-9-7 22:35 编辑

改成这样试试看:
#include<stdio.h>

int max(int x, int y);

void main()
{
      int a, b, c;
      printf("请输入两个数:");
      scanf("%d %d",&a,&b);
      c = max(a,b);
      printf("max = %d", c);
}
int max(int x, int y)
{
      intz;
      if (x > y)
                z = x;
      else
                z = y;
      return z;
}

记住:输入的时候要用空格分开两个数。

风行回首 发表于 2019-9-7 22:11:57

jackz007 发表于 2019-9-7 15:37
建议去掉scanf()中,两个%d之间的逗号,否则,输入的时候,两个值之间必须用逗号分隔

我输入的时候用逗号隔开了呀

风行回首 发表于 2019-9-7 22:26:18

一个账号 发表于 2019-9-7 18:29
改成这样试试看:




可以解释一下为什么用逗号隔开不行嘛

一个账号 发表于 2019-9-7 22:31:19

本帖最后由 一个账号 于 2019-9-7 22:37 编辑

风行回首 发表于 2019-9-7 22:26
可以解释一下为什么用逗号隔开不行嘛

可以用逗号分开,但是输入时也要输入逗号,但我习惯空格了{:10_266:}

对了,我试过了,可以运行啊:
http://p2.so.qhmsg.com/t0115b45e70257adadf.jpg

你也截一下图,用网络图片,新鱼油也行的。

风行回首 发表于 2019-9-9 21:18:02

一个账号 发表于 2019-9-7 22:31
可以用逗号分开,但是输入时也要输入逗号,但我习惯空格了

对了,我试过了,可以运行啊: ...

哦哦 谢谢 解决了。我代码里用的是半角的逗号,而调试的时候用的是全角的逗号。。。
页: [1]
查看完整版本: vs 2017 scanf 被忽略????