cプログラム
#include<stdio.h>
/*Calc MAX of (a,b)*/
int max(int x,int y)
{
if(x>y) return x;
else return y;
}
/*Calc n!*/
void fact(int n)
{
int i,ans;
ans=1;
for(i=n;i>=1;i--){
ans*=i;
}
printf("ans=%d\n",ans);
}
/*END*/
void end()
{
printf("Thanks\n");
exit(0);
}
/*Main*/
int main()
{
int key;
int a,b,saidai;
int n;
while(1){
puts("\n=====Main MENU =====");
puts("1.......max(a,b)");
puts("2.......n!");
puts("9.......END\n");
printf("Input No(1,2,9)=?");
scanf("%d",&key);
switch(key){
case 1:
printf("Inputs:a,b?");
scanf("%d,%d",&a,&b);
saidai=max(a,b); //Call max(a,b)
printf("max(%d,%d)=%d\n",a,b,saidai);
break;
case 2:
printf("Input:n?");
scanf("%d",&n);
fact(n);
break;
case 9:
end();
break;
default:
printf("!!!!!Miss Input_No!!!!!\n");
break;
}
}
のプログラムなのですが、1の処理を行った場合max(a,b)の値が正しく表示されません
どこを直せばいいでしょうか?
return(0);