森林夺宝手机干扰:为什么在输入减号的时候输出结果是Input Error呢?

来源:百度文库 编辑:高考问答 时间:2024/04/28 20:17:33
#include <stdio.h>

void main()
{
int 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");

}

你输入一次‘-’号,但getchar执行了两次,所以,
else if(getchar()==‘-’)这句话执行时,实际上,getchar从键盘得到的可能是换行符
你可以试试任何其他不是‘+’的符号,结果如果一样,应该就是我说的这样吧