3.5 下面的程序判断从键盘输入的一个运算符号,并进行相应的运算或处理.试指出程序是否有错,为什么?
#incdude<stdio.h>
void main()
{int a,b;
a=5;b=4;
if(getchar()==‘+’)
printf(“%d+%d=%d”,a,b,a+b);
else if(getchar()==‘-’)
printf(“%d-%d=%d”,a,b,a-b);
else
printf(“input Error”); }
參考答案:是%c的原故, 你如果改为
scanf("%d%s%d\n",&q->num,q->name,&q->age);
即把%c和&q-sex去掉, 运行就正确了
用scanf输入单个字符即%c是很容易出问题的
请参考一下