在C中写入函数,它计算给定整数位数,共2行

时间:2017-03-22 12:45:20

标签: c

有什么建议可以提供更好的解决方案吗?

在C:

int countDigits(int v) {
    for(int i=v, digits =1 ; i != 0; i = i/10,v = digits++);
    return v;
}

1 个答案:

答案 0 :(得分:2)

如果不允许引入任何变量,则递归可能是一个选项:

int countDigits(int v) {
    return (v >= 10 || v <= -10 ? 1+countDigits(v/10) : 1);
}

请注意额外条件,以便该功能也可以正确处理负数。