c语言中,怎么判断变量的类型?如何判断一个变量是int还是long int?(不通过声明)
8个回答
展开全部
1、首先在c语言中,long long 是C99标准对整形类型做的扩展,每个long long类型的变量占8字节,64位。如下图使用%lld输出。
2、这种输出方法的结果如下图所示,可以看到输出结果是0,而很明显输出的结果不应该为零,也就是说输出结果是错误的。
3、这时要看下是不是函数有问题,采取的方法如下图所示。
4、修正之后的输入结果下图所示,通过这个过程,得出的结论是输出long long类型的数据应该使用prinf的%lld格式,注意输出函数不要写错。
5、最后输出bool类型的数据,其使用Printf的输出格式如下图所示。
6、最后输出结果如下图所示,就完成了。
展开全部
虽然用这个sizeof()函数可以通过字节数判断!但是你说int 和 long int这里就会出现问题!应为int 和long int 都是4个字节!还有float!只能说sizeof()可以区分字符和数字。至于要去区别long int 和int 有点难!不必纠结这个吧...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c++ 里有。c 我没试过。调 typeid()。 头文件#include <typeinfo>
#include <iostream>
#include <typeinfo>
using namespace std;
main()
{
short t;
long int L;
double d;
std::cout << typeid(t).name() << std::endl;
std::cout << typeid(L).name() << std::endl;
std::cout << typeid(d).name() << std::endl;
}
#include <iostream>
#include <typeinfo>
using namespace std;
main()
{
short t;
long int L;
double d;
std::cout << typeid(t).name() << std::endl;
std::cout << typeid(L).name() << std::endl;
std::cout << typeid(d).name() << std::endl;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
标准C里是没有方法获得一个变量的类型的,在gcc扩展C中有typeof可以使用,在linux的很多地方都用到了typeof,和sizeof类似。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用单目运算符sizeof(变量名)进行判断,16位机下int是2字节,32位机下是4字节,long int是8字节
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询