记下这一题是因为更加认识到打破“惯性思维”解决问题的必要性和重要性。引以为戒,以后解决问题时,要多换个角度思考。
摘自coolshell
下面是一个C程序,其想要输出20个减号,不过,粗心的程序员把代码写错了,你需要把下面的代码修改正确,不过,你只能增加或是修改其中的一个字符,请你给出三种答案。
1
2
3
4
5
|
int
n = 20;
for
(
int
i = 0; i < n; i--){
printf
(
"-"
);
}
|
下面是正确答案——
1
2
3
4
5
6
7
8
|
//第一种解法:在for循环中给 i 加一个负号
for
(
int
i = 0; -i < n; i--)
//第二种解法:在for循环中把 i-- 变成 n--
for
(
int
i = 0; i < n; n--)
//第三种解法:把for循环中的 < 变成 +
for
(
int
i = 0; i + n; i--)
|