题库 软件开发 题目列表 以下程序执行后控制台输出为() #include <...
单选题
以下程序执行后控制台输出为()
#include <stdio.h>
int f(int n) {
    int i = 0;
    for (int k = 1; k <= n; k *= 2)
        ++i;
    for (int j = i / 2; j > 0; --j) {
        int v1 = (1 << (j - 1));
        int v2 = (1 << (i - j));
        bool flag1 = ((n & v1) != 0);
        bool flag2 = ((n & v2) != 0);
        if (flag1 != flag2) {
            n ^= v1;
            n ^= v2;
        }
    }
    return n;
}

int main(int argc, char* argv[]) {
    printf("%d", f(3456));
    return 0;
}


A.

6543

B.

3456

C.

639

D.

27

题目信息
校招真题
-
正确率
0
评论
4
点击