哪位大神能告诉我,我这段程序为什么不能重复输入m,n

求m,n的最大公因数
1 #include
2 int maxog(int m, int n)
3 {
4 int r = m%n;
5 while(r != 0)
6 {
7 m = n;
8 n = r;
9 r = m%n;
10 }
11 return n;
12 }
13 int main()
14 {
15 int m,n,j;
16 char flag = 'Y';
17 while(flag == 'Y' || flag == 'y')
18 {
19 scanf("%d %d",&m, &n);
20 if(m>0 && n>0)
21 {
22 j = maxog(m,n);
23 printf("output = %d\n", j);
24 }
25

26 printf("continue?(Y/y)\n");
27 while(getchar() != '\n')
28 flag = getchar();
29

30 }

31 return 0;

32 }
图片说明

很简单的一个东西啊,你这个好像是C语音?
C我也只会那么一点点,你看下 把你的maxog方法改成下面这样,main方法值调用这个方法就行

     void maxog(int m,int n){
         int r = m-n;
         int r1 = n-m;
         if(r!=r1){
             if(r>r1){
                 printf("output = m");
             }else {
                 printf("output = n");
             }
         }

         printf("continue?(Y/y)\n");
         if(getchar() != '\n'){
             scanf("%d %d",&x, &y);
             if(x>0 && y>0){
                 maxog(x,y);
             }
         }else{
             printf(" Exit! \n");
         }
    }

fflush(stdin);在scanf前面加上这个