C语言实现给小学生出加法题

C语言实现给小学生出加法考试题:
我的出现死循环
题目:

img


我的代码:

#include

int Add(int a, int b){
    int answer;
    printf("%d+%d=",a,b);
    scanf("%d",&answer);
    if(a+b == answer)
      return 1;
    else
      return 0;
}

void print(int flag){
    if(flag)
      printf("Rright!\n");
    else
      printf("Not correct. Try again!\n");
}
int main(){
    int a,b,answer,s;
    printf("Input a,b:");
    scanf("%d,%d",&a,&b);
    s=Add(a,b);
    while(1){
        if(s==1){
            print(1);
            break;
        }
        if(s==0){
            print(0);
        }
    }
    return 0;
}

试试


#include<stdio.h>
int Add(int a, int b) {
    int answer;
    scanf("%d", &answer);
    if (a + b == answer)
        return 1;
    else
        return 0;
}
void print(int flag) {
    if (flag)
        printf("Rright!\n");
    else
        printf("Not correct. Try again!\n");
}
int main() {
    int a, b,s;
    printf("Input a,b:");
    scanf("%d,%d", &a, &b);
    printf("%d+%d=", a, b);
    s = Add(a, b);
    while (1) {
        if (s == 1) {
            print(1);
            break;
        }
        if (s == 0) {
            print(0);
            s = Add(a, b);
        }
    }
    return 0;
}

while(1)中也应该加上s=Add(a,b),要不然s永远是第一次的值,如果第一次做错就会一直会卡在循环里