以下是编程错误的一些示例。目的是知道代码在做什么,并用更好的代码重写它。
q http://gyazo.com/4cb5f604f9d57561245544187b0a2139.png?1366209953
q http://gyazo.com/c3739424a78ccc3b4b90f7ccaf1317a7.png?1366209918
我尝试做的是按原样键入,编译并尝试弄清楚正在做什么。但我的进展很少。 这是一个试卷问题,所以我不能发送年龄试图解决这个问题,但同时这是一个完整的问题。
这些代码在做什么以及如何解决它们(更快)?
谢谢。
编辑: 我不是要求代码。我要求解释代码。所以我不能真正给出片段。
答案 0 :(得分:1)
这些是非常基本和出色的代码。
只需在纸上执行一系列代码,您就可以轻松获得有关他们正在做什么的答案。
比如,在B中,我们创建了一个具有相同值item
的数组,直到b != -1
。
同样地,只需假设一些值并在纸上解决它并用适当的线和缩进重写。
答案 1 :(得分:1)
一旦了解了代码的作用,只需更改变量和函数名称即可。完成。 在这种情况下,“错误编程”使用较差的变量名称,这并不明确变量本身的目的
编辑:
你的任务的第二个任务是rewrite it in better code.
。这就是练习的美妙之处,在你精神上“执行”算法之前很难知道发生了什么。提供更好的名称可以提高代码的质量。如果存在潜在的错误,提供更好的名称可能会暗示您。
示例:
// bad code
int f(int a, int b){
return a < b ? a : b;
}
// better code
int min(int a, int b){
return a < b ? a : b;
}
// what? there must be a bug
int max(int a, int b){
return a < b ? a : b;
}
答案 2 :(得分:1)