C11新特性_Generic用法

#include <stdio.h>

#define print_var(x)                      \
    printf(_Generic(x, int                \
                    : #x " = %d\n", float \
                    : #x " = %f\n"),      \
           x);

int main(int argc, char const *argv[])
{
    float val = 123;
    printf("hello: %s\n", _Generic(val, int
                                   : "int", float
                                   : "float"));

    int a = 333;
    print_var(a);
    float b = 3.124;
    print_var(b);
    return 0;
}
posted @ 2020-09-30 14:40  爱弹钢琴的卡农  阅读(300)  评论(0)    收藏  举报