大一学c语言,有点小问题请教

具体内容如下:

#include "stdio.h"
int main()
{
  int max(int x,int y);
  int a,b,c;
  printf("please input num a,b\n");
  scanf("%d,%d",&a,&b);
  c=max(a,b);
  printf("max=%d\n",c);
  return 0;
}

int max(int x,int y)
{
    int z;
    if(x>y)z=x;
    else z=y;
    return(z);
}

c程序设计P8原题,和他上面的一模一样,但是输入两个数后只会输出前一个数而不是最大值,是我哪里搞错了吗QWQ

应该是你的输入有问题,没有输入逗号吧,导致b实际是个无效值,最终算出来的最大值永远是a
如果scanf中%d,%d带逗号,你输入的话两个整数间也得用逗号。要么你就改成scanf("%d%d",&a,&b)
希望对你能有所帮助。

第7行:scanf("%d,%d", &a, &b);  这里输入语句格式符里有 ','号,所以输入时两个数间也要有 ','号,像这样:5,3  。若想以空格作为分隔符,输入语句改为:scanf("%d%d", &a, &b);  ,这样输入两个数时,只要这样就可以了:5 3  。