ghllqwh 发表于 2018-1-23 15:38:17

求助C编程问题,求大神们帮我看看

本帖最后由 ghllqwh 于 2018-1-23 16:48 编辑

#include <stdio.h>

void main()
{
        int a, b, max;
        printf("\n input two number:");
    scanf("%d,%d",&a, &b);
    max = a;
        if(max<b)
        {
                max = b;
        }       
        printf("max= %d",max);
}
这个程序应该是输出两个数中的最大值,但是我mac电脑(双系统,用的win10),
输出结果却总是第一个数,不知道为什么

看了你们的答案,我试了一下,还是不行啊

人造人 发表于 2018-1-23 16:08:04

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

1106190679 发表于 2018-1-23 16:16:46

你双引号里是“%d,%d”,输入就应该写成10,20

U201010009 发表于 2018-1-23 16:23:02

scanf的用法没理解清楚,你写的是 scanf("%d,%d",&a, &b); 所以应该输入10,20
或者这么写 scanf(“%d%d”,&a,&b); 两%d之间不要有逗号,可以有空格

ghllqwh 发表于 2018-1-23 16:48:39

人造人 发表于 2018-1-23 16:08
scanf("%d,%d",&a, &b);

试了,还是不行

秋木叶 发表于 2018-1-23 16:56:00

这样 scanf("%d %d",&a, &b);    的话你的输入就可以得到正确结果

ghllqwh 发表于 2018-1-23 17:05:47

本帖最后由 ghllqwh 于 2018-1-23 17:08 编辑

秋木叶 发表于 2018-1-23 16:56
这样 scanf("%d %d",&a, &b);    的话你的输入就可以得到正确结果

我懂了,scanf调用的时候,是赋予地址的,如果有逗号的话,就算占有地址了,

人造人 发表于 2018-1-23 17:07:04

ghllqwh 发表于 2018-1-23 16:48
试了,还是不行

我又没有让你直接改成这样,我指的是这个有问题

ghllqwh 发表于 2018-1-23 17:09:26

人造人 发表于 2018-1-23 17:07
我又没有让你直接改成这样,我指的是这个有问题

谢谢,谢谢,我搞定了,
页: [1]
查看完整版本: 求助C编程问题,求大神们帮我看看