C++ 如何判断一个变量是否为整型,而非字符等?

例如:unsignedinta;cin>>a;如何判断从屏幕输入的参数是非负整数,而不是字符、小数、字符、负整数等?... 例如:
unsigned int a;
cin>>a;
如何判断从屏幕输入的参数是非负整数,而不是字符、小数、字符、负整数等?
展开
 我来答
匿名用户
2015-04-23
展开全部

看声明

如果声明的时候用的类型是 int ,变量就是 int 类型的。

如果声明的时候用的类型是 char ,变量就是 char 类型的。


控制台的输入没有类型之说。由程序员考虑当输入符合什么格式的时候,能被程序认为是“合理”的输入。对于

unsigned int a;
cin>>a;

可以简单地假定“只要 cin 认为它是合理的输入,就是合理的输入”。此时只需检查

cin.fail()

即可。如果 cin.fail() 返回 true ,就说明输入格式不正确,是不合理的输入。否则就是合理的输入

nxdekxejdkxgdh
2019-08-22
知道答主
回答量:6
采纳率:0%
帮助的人:4495
展开全部
#include<bits/stdc++.h>        //万能头文件
using namespace std;
int main(){
    char *userinput;
    userinput = new char;
    scanf("%s",userinput);
    char *compare;
    compare = new char;
    sprintf(compare,"%d",atoi(userinput));
    if(!strcmp(userinput,compare))
        printf("YES");
    else
        printf("NO");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
babytaomail
2015-04-19 · 知道合伙人软件行家
babytaomail
知道合伙人软件行家
采纳数:429 获赞数:1130
某公司嵌入式开发工程师; 熟悉VC++/C/MFC,Linux驱动,STM32,FPGA,Allegro/Pads及硬件电路设计

向TA提问 私信TA
展开全部
int a;
if(typeid(int) == typeid(a))
{
cout << "Dear, a is int~~" <<endl;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mr_shj
2015-04-19 · TA获得超过2682个赞
知道大有可为答主
回答量:1665
采纳率:94%
帮助的人:1391万
展开全部
没有判断, 你想是什么型,它就是什么型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式