首页 > 解决方案 > 如何在c中显示值及其数据类型?

问题描述

int x=10 运行代码后显示“10 int”

    #include<stdio.h>
    int main()
    {
        int x=10;
        printf("%d %s",x,typedef(x))
    }

标签: c

解决方案


C 没有任何运行时类型信息。使用标准 C 可以实现的最佳效果是在编译时手动列出所有支持的类型,然后在编译时检查使用了哪个类型。例子:

#include <stdio.h>

#define TYPE_STR(x) _Generic((x), \
  int:    "int",                  \
  double: "double",               \
  char:   "char" )                \

int main()
{
  int x=10;
  printf("%d %s",x,TYPE_STR(x));
}

推荐阅读