帮我看看,这是怎么回事?

2024-11-25 17:41:15
推荐回答(2个)
回答1:

scanf使用有误。
修改:

#include
int main()
{
void act1(int,int),act2(int,int);
char ch;
int a,b;
printf("请输入a和b的值:\n");
scanf("%d%d",&a,&b);
printf("输入q(Q)执行加,输入w(W)执行减法:\n");
scanf("%s",&ch);
switch(ch)
{
case'q':case'Q':act1(a,b);
break;
case'w':case'W':act2(a,b);
break;
default:putchar('\a');
}
return 0;
}
void act1(int x,int y)
{
int c;
c=x+y;
printf("%d\n",c);
}
void act2(int x,int y)
{
int m;
m=x-y;
printf("%d\n",m);
}

回答2:

scanf("输入q(Q)执行加,输入w(W)执行减法:%c\n",&ch);

不能这么用,改成两句

printf("输入q(Q)执行加,输入w(W)执行减法:\n");
scanf("%c",&ch);