C++把输入的字符0-9转换为数字的同时,若输入的不是字符0-9,则显示输入错误。请问我这个怎么错了?
2个回答
展开全部
你想输入的t是一个char,但是你的输入值“66”是两个字符,所以t只取这两个字符中的第一个字符,也就是‘6’,也就是t=‘6’,那么char t赋值给int a后‘6’这个字符的ASCII码就是54,没有错
追问
那么请问怎样使它输入66时一样可以输出error而不时54呢?
追答
int main(int argc, char *argv[])类似上面这样,把t改成int,然后把case改一下
{
int t;
int a;
cin>>t;
switch(t)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:a = t;cout<<a<<endl;break;
default:cout<<"err\n"<<endl;break;
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询