我刚入学C/C++时,学了一个可以计算加减乘除法的程序。我学了N天后,写了出来:
#include <bits/stdc++.h>
using namespace std;
int a, c;
char b;
int main()
{
scanf("%d%c%d", &a, &b, &c);
if (b == '+')
printf("%c", a + c);
else if (b == '-')
printf("%c", a + c);
else if (b == '*')
printf("%c", a * c);
else if (b == '/')
printf("%c", a / c);
else if (b == '%')
printf("%c", a % c);
return 0;
}
我怀着“激动的心”,运行了一下,结果。。。。。。
??????
我看了N天后,觉得可能是scanf语句错了,我便改了一下:
#include <bits/stdc++.h>
using namespace std;
int a, c;
char b;
int main()
{
scanf("%c%d%c", &a, &b, &c);
if (b == '+')
printf("%c", a + c);
else if (b == '-')
printf("%c", a + c);
else if (b == '*')
printf("%c", a * c);
else if (b == '/')
printf("%c", a / c);
else if (b == '%')
printf("%c", a % c);
return 0;
}
我再次运行:
我他妈**输出呢。。。。。。
于是,“快乐”星空 继续埋头苦干。。。。。。
终于,我发现了错误:
#include <bits/stdc++.h>
using namespace std;
int a, c;
char b;
int main()
{
scanf("%d%c%d", &a, &b, &c);
if (b == '+')
printf("%d", a + c);
else if (b == '-')
printf("%d", a + c);
else if (b == '*')
printf("%d", a * c);
else if (b == '/')
printf("%d", a / c);
else if (b == '%')
printf("%d", a % c);
return 0;
}