鱼C论坛

 找回密码
 立即注册
查看: 7022|回复: 18

如何判断类型

[复制链接]
发表于 2019-7-29 22:27:48 | 显示全部楼层
本帖最后由 Croper 于 2019-7-29 22:29 编辑

使用sizeof可以判断出变量的长度,
使用类型转换后是否是原值能够判断出类型
这里是能够判断double,float,int,long long四种类型的代码,根据需要可以自行扩展
  1. #include <stdio.h>
  2. #define type32(a) (int)a==*(int*)&a?"int":"float"
  3. #define type64(a) (long long)a==*(long long*)&a?"long long":"double"
  4. #define type(a) sizeof(a)==sizeof(int)?type32(a):type64(a)
  5. int main(){
  6.         int a;
  7.         long long b;
  8.         float c;
  9.         double d;
  10.         printf("%s %s %s %s",type(a),type(b),type(c),type(d));//输出int long long float double
  11. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-23 05:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表