为了练习我们上一篇文章中所学习的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在英文里的原意是“臭虫”,代码里面怎么可能有臭虫呢?
这便是我们下一章所要详细讲解的内容。
如果你不能找出上面代码的问题,别急,在下一篇文章中,我们就知道错误在哪儿了!
期待下一篇