为什么if后面的条件不满足还是会输出-1。

#include<stdio.h>
int MaxCommonFactor( int a, int b)
{
int c;
if(a<=0||b<=0)
return -1;
while(b!=0)
{
c=a%b;
a=b;
b=c;
}
return a;
}
int main(void)
{ int x,y,z;


  /*********Begin*********/
  scanf("%d,%d",&x,&y);
z = MaxCommonFactor(x,y);
printf("%d\n",z);
  
  /*********End**********/ 

img

return 0;
 }

没错呀

#include<stdio.h>
int MaxCommonFactor( int a, int b)
{
int c;
if(a<=0||b<=0)
return -1;
while(b!=0)
{
c=a%b;
a=b;
b=c;
}
return a;
}
int main(void)
{ int x,y,z;

  /*********Begin*********/
  scanf("%d,%d",&x,&y);
z = MaxCommonFactor(x,y);
printf("%d\n",z);
return 0;
}

img