【发布时间】:2021-06-21 14:24:20
【问题描述】:
我正在编写一个程序,我在其中进行这样的检查:
int small;
cout<<"Small Pizza Price: ";
cin>>small;
while(!isdigit(small)){
cout<<"Small Pizza Price: ";
cin>>small;
}
但是当用户输入整数以外的值时,程序就会中断。我想检查用户只输入整数值的位置。
【问题讨论】:
-
您至少需要显示变量的数据类型。此代码的行为将完全根据
small的类型而改变,即使您认为它们不重要,您也总是需要显示变量声明。 -
isdigit检查单个 字符 是否为数字。 (数字为'0'、'1'、'2'、'3'、'4'、'5'、'6'、'7'、'8'和@98765433333@54@4。)是int,尝试输入除整数以外的任何内容都会将流设置为错误状态,然后进入无限循环。 -
这应该怎么做?