仓鼠爱跑圈 发表于 2017-6-24 11:01:04

【C语言】在学函数那一章的时候遇到有关scanf的问题

#include<stdio.h>
int main()
{
        int max(int x,int y);
        int a,b,c;
        printf("please enter two integer numbers:");
        scanf("%d,%d",&a,&b);
        c=max(a,b);
        printf("max is %d\n",c);
        return 0;
}
int max(int x,int y)
{
        int z;
        z=x>y?x:y;
        return z;
}

代码如上,本人初学,这是课本上的代码,我一模一样打下来的。
但是当我输入2,3的时候,输出的却是2。
我又试了几次发现输出的都是第一个数字。
调试的时候发现他似乎无视了我的max函数。求大神解决!!


ps:

当我把代码改成这样,也就是直接把2和3赋值给a和b,结果却是正确的,输出的是3。

#include<stdio.h>
int main()
{
        int max(int x,int y);
        int a=2,b=3,c;
        c=max(a,b);
        printf("max is %d\n",c);
        return 0;
}
int max(int x,int y)
{
        int z;
        z=x>y?x:y;
        return z;
}


请问这到底是什么原因???

仓鼠爱跑圈 发表于 2017-6-24 11:24:30

好的吧 输入法的锅 发现了。。

ba21 发表于 2017-6-24 13:55:19

仓鼠爱跑圈 发表于 2017-6-24 11:24
好的吧 输入法的锅 发现了。。

{:10_247:}
页: [1]
查看完整版本: 【C语言】在学函数那一章的时候遇到有关scanf的问题