MST
星途 面试题库

面试题:C语言#运算符转换字符串在复杂宏定义中的处理

假设你有一个复杂的宏定义,宏中有多个参数,其中部分参数需要使用#运算符转换为字符串,部分参数用于常规的算术运算。请编写这样一个宏定义,并在主函数中进行适当调用,展示其正确的运行结果。
49.9万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试
#include <stdio.h>

// 定义宏
#define COMPLEX_MACRO(a, b, c) \
    printf("字符串化的参数: %s\n", #a); \
    printf("算术运算结果: %d\n", b + c)

int main() {
    int num1 = 5;
    int num2 = 10;
    COMPLEX_MACRO(example, num1, num2);
    return 0;
}

上述代码中,COMPLEX_MACRO宏接受三个参数,第一个参数a使用#运算符转换为字符串并打印,后两个参数bc用于算术运算(这里是加法)并打印结果。在main函数中调用该宏并传入相应参数展示运行结果。