以下程序执行后控制台输出为?
#include
发布于 2022-03-03 17:04:20
以下程序执行后控制台输出为() #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
}
登录后免费查看答案
发布于 2022-03-03 17:04:20
以下程序执行后控制台输出为()
#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 }
登录后免费查看答案
关注者
0
被浏览
25