巫师3怪物等级提高mod:为什么在输入减号的时候输出结果是Input Error呢?

来源:百度文库 编辑:高校问答 时间:2024/05/01 02:17:04
#include <iostream.h>
#include <stdio.h>

void main()
{
int a=5,b=4;
char c=getchar();
if(c=='+')
printf("%d+%d=%d",a,b,a+b);
else if(c=='-')
printf("%d-%d=%d",a,b,a-b);
else
printf("Input Error");

}
现在急用请多指教.............

是不是同编译器有关?
我把你的程序存为a.cpp
用VC++编译:
CL a.cpp
得 a.exe
-------------------------------
屏幕显示:

D:\zzz>cl a.cpp
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

a.cpp
Microsoft (R) Incremental Linker Version 6.00.8447
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/out:a.exe
a.obj

D:\zzz>a.exe
+
5+4=9
D:\zzz>a.exe
-
5-4=1

没问题。

getchar()是从标准输入设备读取下一个字符,如从磁盘读入一个顺序文件。如果从磁盘读文件,你需要指定文件。下面上从键盘读入字符的示例
#include <stdio.h>
void main()
{
int a=5,b=4;
char c;
scanf("%c",&c);
if(c=='+')
printf("%d+%d=%d",a,b,a+b);
else if(c=='-')
printf("%d-%d=%d",a,b,a-b);
else
printf("Input Error");
}