gpt4 book ai didi

C预处理器: macro function to call printf()

转载 作者:太空宇宙 更新时间:2023-11-04 05:05:20 24 4
gpt4 key购买 nike

我想有条件地使用 printf() 或语句:

#define USE_PRINTF

#ifdef USE_PRINTF
#define macrofn(str) printf(str)
#else
#define macrofn(str) some_statement
#ifndef USE_PRINTF

但我收到以下错误:

incompatible implicit declaration of built-in function 'printf'

我做错了什么?谢谢

最佳答案

您不一定必须包含 <stdio.h>在宏定义之前。你真正需要的是 #endif对于 #if你已经开始了。例如,下面的程序可以正常工作:

#define USE

#ifdef USE
#define asd printf("asd")
#else
#define asd puts("kek")
#endif

#include<stdio.h>

int main( ) {
asd;
getchar( );
return 0;
}

所以...是的。

关于C预处理器: macro function to call printf(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22295578/

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