c++ - 数的倒数,C++

标签 c++

我正在创建一个程序,使用以下方法显示数字的倒数:

示例:

123 ==> 3*10^2 + 2*10^1 + 1*10^1 = 321

但输出始终为 0。有什么帮助吗?

#include <stdio.h>

int power(int a)
{
    int i;
    int x = 1;
    for (i = 1; i = a; i++)
    {
        x = x * 10;
    }
    return x;
}

int inv(int b)
{
    int z = b, j = 0, s = 0, y;

    for (z = b; z = 0; z = z / 10)
    {
        for (y = z; y = 0; y = y / 10)
        {
            j++;
        }
        s = s + (z % 10)*power(j - 1);
    }
    return s;
}


int main()
{
    printf("please enter a number"); int n;
    scanf("%d", &n);
    printf("%d", inv(n));
    return 0;
}

最佳答案

你认为这两个for循环什么时候会继续下去?
你认为他们什么时候会停止?
(提示:你错了。)

在调试器中观察 z 和 y 的值。

for (z = b; z = 0; z = z / 10)

for (y = z; y = 0; y = y / 10)

关于c++ - 数的倒数,C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36435272/

相关文章:

c++ - 手动调整窗口大小后 QGraphicsScene 宽度/高度没有改变

c++ - 在双重检查锁定模式中获取屏障

c++ - QString 中的哪个函数对用于转换为 std::string 或从 std::string 转换?

c++ - 如何在 C++ 中使用 [[noreturn]] 属性?

c++ - IO 文件代码不一致

c++ - istream::tellg() 有问题吗?

c++ - 进程重定向可以在bash中同步吗?

C++ 对象在没有创建的情况下被销毁?

c++ - OpenGL 奇怪的顶点着色器问题

c++ - 允许在 VS2008 Native C++ 项目中进行特定于开发人员的设置