c - 如何在c中显示值及其数据类型?
问题描述
int x=10 运行代码后显示“10 int”
#include<stdio.h>
int main()
{
int x=10;
printf("%d %s",x,typedef(x))
}
解决方案
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));
}
推荐阅读
- firebase - 当用户选择登录链接时出现错误“无效的动态链接 - 被阻止”错误
- javascript - 如何从 javascript whit mapQuest 中的链式 json 中获取特定值
- python - 使用递归寻找力量
- python - 检查卡片手Python中是否有两对
- ios - 为什么 FieldValue.increment() 在 Swift 中给我一个错误?
- python - 如何安装特定(旧)版本的 Anaconda?
- android - 如何在Android中制作曲线?
- kerberos - 生成 SPNEGO 令牌失败
- graphql - 从 graphql 响应返回的空“节点”对象
- postgresql - 使用生命周期挂钩运行脚本在 kubernetes 中无法正常工作