【发布时间】:2010-09-24 13:00:09
【问题描述】:
The Daily WTF 2008-11-28 枷锁以下代码:
static char *nice_num(long n)
{
int neg = 0, d = 3;
char *buffer = prtbuf;
int bufsize = 20;
if (n < 0)
{
neg = 1;
n = -n;
}
buffer += bufsize;
*--buffer = '\0';
do
{
*--buffer = '0' + (n % 10);
n /= 10;
if (--d == 0)
{
d = 3;
*--buffer = ',';
}
}
while (n);
if (*buffer == ',') ++buffer;
if (neg) *--buffer = '-';
return buffer;
}
你会怎么写?
【问题讨论】:
-
我注意到 The Daily WTF 网站上的 cmets 似乎大多指出它不是真正的 WTF(至少我浏览的前几屏 cmets)。
-
@Mike B:嗯,我同意这个评估。我没有看过那里的 cmets。
-
我们已经有了更广泛的实现:stackoverflow.com/q/4351371/103167
标签: c coding-style