为了练习我们上一篇文章中所学习的switch结构,让我们再写一个程序来熟悉一下
让我们来写一个简单的计算器
例如,让我们输入1+3,程序能自动计算,得到4的结果,那么这个需要怎么写呢?
显然,输入的信息由一个数字 后接一个字符,然后又是一个数字组成
我们很容易的想到,可以使用scanf来输入信息,使用”%d%c%d”这样的格式化字符串
请你自己写出程序,然后继续
下面给出的是一个例子
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b, result;
int operators;
printf("请输入一个算式:");
scanf("%d %c %d", &a, &operators, &b);
switch(operators)
{
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
result = a / b;
break;
}
printf("%d\n", result);
return 0;
}
让我们来运行一下这个程序
咦,结果怎么成了57呢?
让我们换一个算式再来试试
仍然是57!显然我们的程序出了问题,但是问题在哪儿呢?(注意:如果你尝试自己编译运行上述程序,你可能会遇到结果不是57的情况)
你能从上面的代码中找到它么?
我们称这种情况为代码里有了bug,或许你很久前就听说过了这种东西(比如和玩游戏的过程中听说它)。
bug在英文里的原意是“臭虫”,代码里面怎么可能有臭虫呢?
这便是我们下一章所要详细讲解的内容。
如果你不能找出上面代码的问题,别急,在下一篇文章中,我们就知道错误在哪儿了!



期待下一篇