求教一个关于不同输入时运行结果不同的问题
函数目的:当输入不同时分别调用函数mul(),分两种情况:v>=0和其他情况,当输入的v为正整数时能运行正确,当输入的为负数时却不能正常运行,这是为什么呢?如果想实现这个功能,我该怎么修改这个程序呢?求教求教。。#include<stdio.h>
#include<string.h>
int mul(int a,int b)
{
if(a==0||b==0)
return 0;
if(b==1)
return a;
return(a+mul(a,b-1));
}
main()
{
int u,v,w;
printf("enter two integers!\n");
scanf("%d,%d",&u,&v);
if(v>=0)
w=mul(u,v);
else
w=-mul(u,v);
printf("the result is %d\n",w);
}