1

我试图将一些代码从 C 转换为 C++,请你们让我知道我哪里出错并给我一些指示吗?谢谢

出于某种原因,每次有人问这样一个琐碎的问题时,他们都会被告知“做你自己的作业”等,所以我只想指出这不是作业,因为它的价值。再次感谢

#include <iostream>

using namespace std;

int main()
{
    int gcd_bin(int u, int v)
    {
        int t, k;

        u = u < 0 ? -u : u; /* abs(u) */
        v = v < 0 ? -v : v;
        if (u < v)
        {
            t = u;
            u = v;
            v = t;
        }
        if (v == 0)
            return u;

        k = 1;
        while (u & 1 == 0 && v & 1 == 0)
        { /* u, v - even */
            u >>= 1; v >>= 1;
            k <<= 1;
        }

        t = (u & 1) ? -v : u;
        while (t)
        {
            while (t & 1 == 0)
                t >>= 1;

            if (t > 0)
                u = t;
            else
                v = -t;

            t = u - v;
        }

        return u * k;
    }
}
4

1 回答 1

1

我还没有一个可以接受的答案,但是人们在评论中指出我有多愚蠢,已经解决了这个问题,再次感谢。

编辑:我发布了这个,所以我可以接受它作为答案并关闭问题,它不会让我再接受两天。

于 2014-02-25T21:03:24.883 回答