原文恕删,手痒也来一个:
#include <stdio.h>
int main() {
int num;
scanf("%d", &num);
printf("%d\n", snprintf(0, 0, "%*c", num));
}
// snprintf 也是可以换成 printf,不过会被输出喷个满脸
显然这个依赖 printf 实作就是了
glibc-2.21 下数值要在 +/-2147483614 之间结果才会对 ...天知道它干了什么蠢事
倒是 VS2015 编出来的完全正确,有点意外