c语言中,怎么判断变量的类型?如何判断一个变量是int还是long int?(不通过声明)

我知道php中有var_dump(),可以输出变量的类型... 我知道php中有var_dump(), 可以输出变量的类型 展开
 我来答
yesyes科
2020-05-13 · TA获得超过2.6万个赞
知道答主
回答量:608
采纳率:0%
帮助的人:10.2万
展开全部

1、首先在c语言中,long long 是C99标准对整形类型做的扩展,每个long long类型的变量占8字节,64位。如下图使用%lld输出。

2、这种输出方法的结果如下图所示,可以看到输出结果是0,而很明显输出的结果不应该为零,也就是说输出结果是错误的。

3、这时要看下是不是函数有问题,采取的方法如下图所示。

4、修正之后的输入结果下图所示,通过这个过程,得出的结论是输出long long类型的数据应该使用prinf的%lld格式,注意输出函数不要写错。

5、最后输出bool类型的数据,其使用Printf的输出格式如下图所示。

6、最后输出结果如下图所示,就完成了。

煭鯖
2013-07-25
知道答主
回答量:22
采纳率:0%
帮助的人:17.6万
展开全部
虽然用这个sizeof()函数可以通过字节数判断!但是你说int 和 long int这里就会出现问题!应为int 和long int 都是4个字节!还有float!只能说sizeof()可以区分字符和数字。至于要去区别long int 和int 有点难!不必纠结这个吧...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金色潜鸟
推荐于2018-03-27 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5711万
展开全部
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;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
OXOape
2013-07-25
知道答主
回答量:30
采纳率:0%
帮助的人:19.5万
展开全部
标准C里是没有方法获得一个变量的类型的,在gcc扩展C中有typeof可以使用,在linux的很多地方都用到了typeof,和sizeof类似。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
舆影
2013-07-25
知道答主
回答量:4
采纳率:100%
帮助的人:3490
展开全部
可以用单目运算符sizeof(变量名)进行判断,16位机下int是2字节,32位机下是4字节,long int是8字节
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式