gpt4 book ai didi

更改所需输出的 ​​C 代码

转载 作者:行者123 更新时间:2023-12-04 04:39:44 27 4
gpt4 key购买 nike

我遇到了这个面试问题。我知道这很棘手,但想不出任何方法。

更改程序,使 printf 的输出始终为 20 .只有 foo()可以改变。 main()功能无法更改。

   void foo()
{
// Add Here
}

int main()
{
int i = 20;
foo();
i = 100;
printf("%d", i);
//Some other computation. Doesn't have any printf statements.
return 0;
}

最佳答案

我们可以使用宏参数来改变 printf 的输出。

void foo()
{
#define printf(x, y) printf(x, 20);
}

int main()
{
int i = 20;
foo();
i = 100;
printf("%d", i);
return 0;
}

通过使用它,在 printf("%d",i) 期间将映射到宏扩展 printf("%d",20)

关于更改所需输出的 ​​C 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19073548/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com