小编OlW*_*OlW的帖子

为什么在 C 语言中 f(0) + f(11) == f(0) 通过条件定义 f(0)

#include<stdio.h>
#define f(x) (x<10) ? 1 : 3

int main(){
    int i = f(1) + f(11);
    printf("%d", i);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么在这种情况下,程序输出“1”而不是“4”。
定义宏的这两种不同用途究竟是如何工作的?

c

5
推荐指数
1
解决办法
109
查看次数

标签 统计

c ×1