Jav*_*ier 27 c puzzle code-golf
我找到了一个有一些复杂的C拼图的网站.现在我正在处理这个问题:
以下是一段C代码,其目的是打印减号20次.但你可以注意到,它不起作用.
Run Code Online (Sandbox Code Playgroud)#include <stdio.h> int main() { int i; int n = 20; for( i = 0; i < n; i-- ) printf("-"); return 0; }修好上面的代码很简单.要使问题变得有趣,您必须通过更改一个字符来修复上述代码.有三种已知的解决方案.看看你能不能得到这三个.
我无法弄清楚如何解决.我知道它可以通过改变--来修复++,但我无法弄清楚要改变哪个单个字符才能使它工作.
Gab*_*yer 34
这是一个解决方案:
for( i = 0; -i < n; i-- )
printf("-");
Run Code Online (Sandbox Code Playgroud)
这是第二个,感谢马克帮助我!
for( i = 0; i + n; i-- )
printf("-");
Run Code Online (Sandbox Code Playgroud)
马克也有第三个
for( i = 0; i < n; n-- )
printf("-");
Run Code Online (Sandbox Code Playgroud)
第三个答案:
for( i = 0; i + n; i-- )
printf("-");
Run Code Online (Sandbox Code Playgroud)
感谢Gab Royer的灵感.
说明:最终,i + n将导致-20 + 20 = 0哪个是false.