Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
280 views
in Technique[技术] by (71.8m points)

How to display value and it's data type in c?

int x=10 and after run the code show "10 int"

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

C doesn't have any run-time type information. The best you can achieve with standard C is to manually list all supported types at compile-time, then at compile-time check which one that was used. Example:

#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));
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...