|
|
1
1194
这个程序实际上编译成了不带任何条件的程序集:
编辑:添加了“&”因此它将考虑该地址从而避免指针错误。 标准C中的上述版本,因为它不依赖于函数指针上的算术:
|
|
|
2
784
编译时递归!:P
|
|
|
3
544
我很惊讶似乎没有人发布这个——我认为这是最明显的方式。
|
|
|
4
298
看起来不需要使用循环
|
|
|
5
270
以下是我知道的三种解决方案。第二种可能会引起争议。
[ 编辑: (1) 和(4)只能用于编译时常数,(2)和(3)也可以用于运行时表达式-- 结束编辑。 ] |
|
|
6
263
我不会把printf语句写1000次!
不客气;) |
|
|
7
212
它不打印 全部的 数字,但它确实“打印从1到1000的数字。”获胜的模糊问题!:) |
|
|
8
172
触发致命错误!这是文件,countup.c:
编译,然后在shell提示符下执行:
这确实打印了从1到1000的数字,没有任何循环或条件! |
|
|
9
166
使用系统命令:
|
|
|
10
100
未经测试,但应为香草标准C:
|
|
|
11
96
与这里的其他人相比有点无聊,但可能是他们想要的。
|
|
|
12
71
该任务从未指定程序必须在1000之后终止。
( 如果你跑步,可以缩短为这个/a.没有额外参数的out )
|
|
|
13
71
简单如馅饼!:P
|
|
|
14
65
|
|
|
15
42
我们可以启动1000个线程,每个线程打印一个数字。安装
OpenMPI
,使用编译
当然,这些数字不一定会按顺序打印,但这个问题并不需要按顺序打印。 |
|
|
16
40
使用普通C:
当然,您可以对其他基数(2:print2 print4 print8…)实现相同的想法,但这里的数字1000建议基数为10。您还可以稍微减少添加中间函数的行数:
|
|
|
17
34
只需将std::copy()与一个特殊的迭代器一起使用即可。
|
|
|
18
33
函数指针(ab)使用。没有增加输出的预处理器魔法。ANSI C。
|
|
|
19
32
|
|
|
20
30
丑陋的C答案(每10次方仅展开一个堆栈帧):
|
|
|
21
29
堆栈溢出:
这是针对8MB堆栈的。每个函数调用似乎需要大约32个字节(因此是32*1000)。但当我运行它时,我只得到了804(因此是196*32;也许C运行时在堆栈中还有其他部分,你也必须扣除)。 |
|
|
22
25
有趣的功能指针(不需要任何新的尖牙TMP):
顺便说一句:我认为禁止条件语句也扩展到了逻辑运算符和关系运算符。如果允许逻辑否定,递归调用可以简化为:
|
|
|
23
24
我觉得这个答案会非常简单易懂。
|
|
|
24
23
我错过了所有的乐趣,所有好的C++答案都已经发布了! 这是我能想到的最奇怪的事情,我不敢打赌这是合法的C99
另一个,带有 小的 作弊:
最后一个想法,同样的欺骗:
|
|
|
25
22
简单如馅饼:
执行方法:
规范中没有说明必须生成序列 在…内 代码:) |
|
|
26
18
|
|
|
27
15
|
|
|
28
15
更多预处理器滥用:
我觉得自己很脏;我想我现在要去洗澡了。 |
|
|
29
15
如果POSIX解决方案被接受:
|
|
|
30
13
由于对bug没有限制。。
甚至更好(?),
|
|
|
Community wiki · 打印1到1000,不带循环或条件 2 年前 |
|
|
OverHeaven · 在2D数组中打印每行两次-C 4 年前 |
|
|
user16218933 · php上没有显示图像 4 年前 |
|
|
Sinayra · 循环中的strcat()与sprintf() 8 年前 |
|
|
obvionaoe · printf()在错误的位置打印换行符 8 年前 |
|
|
ByteMe95 · 错误的printf类型仍在打印正确的值 8 年前 |
|
|
141_MATRIX_141 · 指针C的值 8 年前 |