如何对代码进行修改,实现加法运算

代码运行不符合预期,无法计算加法

#include
int add(int x,int y)
{
return x+y;
}
int calc(int (*pf) (int ,int ))
{
int x=0;
int y=0;
scanf("%d,%d",&x,&y);
return pf(x,y);
}
int main()
{
int input=0;
do{
int x,y,ret;
scanf("%d",&input);
switch(input)
{
case 1:
ret=calc(add);
printf("%d",ret);
break;
}
}while(input);
return 0;
}

运行结果如下

img

求帮助!

这段代码没问题,输入两个加数时,两数之间以英文','逗号间隔。

img

你要计算2+23?

int add(int x,int y)
{
    return x+y;
}
int calc(int (*pf) (int ,int ))
{
    int x=0;
    int y=0;
    scanf("%d %d",&x,&y);   ////////////////这里输入%d之间的逗号去掉。因为你输入的时候没有输逗号
    return pf(x,y);
}
int main()
{
    int input=0;
    do{
        int ret;
        scanf("%d",&input);
        switch(input)
        {
        case 1:
            ret=calc(add);
            printf("%d",ret);
            break;
        }
    }while(input);
    return 0;
}

scanf("%d,%d",&x,&y);
这里是逗号隔开输入两个数,你那样输入肯定不行