1. 主页
  2. 文档
  3. C语言教程
  4. C语言案例实战
  5. C语言如何在 main() 中更改 printf() 的输出

C语言如何在 main() 中更改 printf() 的输出

要更改 main() 中 printf() 的输出,我们可以使用宏参数。

#define 宏可用于此任务。这个宏是在函数内部定义的。尽管可以使用#define而不在函数中声明它,但在这种情况下总是会更改 printf()。需要首先调用该函数来更改 main() 中 printf() 的输出。

考虑以下程序。更改程序,使 printf() 的输出始终为 10。 

// C Program to demonstrate changing the output of printf()
// in main()
#include <stdio.h>

void fun()
{
// Add something here so that the printf in main prints
// 10
}

// Driver Code
int main()
{
int i = 10;
fun();
i = 20;
printf("%d", i);
return 0;
}

不允许更改 main()。只有 fun() 可以更改。现在,考虑使用宏参数的以下程序,

// C Program to demonstrate the use of macro arguments to
// change the output of printf()
#include <stdio.h>

void fun()
{
#define printf(x, y) printf(x, 10);
}

// Driver Code
int main()
{
int i = 10;
fun();
i = 20;
printf("%d", i);
return 0;
}

输出

10
这篇文章对您有用吗?