Dev-c++中函数返回值的问题
dev-c++编程,gcc编译/*计算最大公约数*/
#include <stdio.h>
#include <string.h>
#include <math.h>
unsigned int gcb(unsigned int m,unsigned int n);
main()
{
unsigned int a,b;
unsigned int c=0;
printf("please input:");
scanf("%d,%d",&a,&b);
printf("\na=%d,b=%d",a,b);
c=gcb(a,b);
printf("c=%d\n",c);
system("pause");
}
unsigned int gcb(unsigned int m,unsigned int n)
{
unsigned int i;
i=m%n;
printf("\ni=%d,n=%d",i,n);
if(i==0)
{
printf("n=%d\n",n);
return n;
}
else
{
gcb(n,i); }
}
在这个程序中编译运行都通过了
但比如输入15,5时,函数返回5,c输出5,没问题,如改成输入5,15时,函数返回值就不是5而是一个垃圾值。
同样这个程序在win-tc中运行,就没有上述问题。
现在列出来,希望圈内朋友们帮我参详参详,找出问题。