检查该值是否为十进制数字(而不是字符形式的数字)



我想检查用户输入的值是否是整数(我指的是整数,而不是字符形式的数字(如char)
我用过isdigit函数,和is...姐妹,但效果不好。

例如:

int digits = 220; // Or scanf("%d", digits); Or any way to take the input from user
if(digits == `integer number`){
   // do things
}else{
   // do things
}
int digits = 220; // Or scanf("%d", &digits);

就这样,你完了!

或者,如果scanf("%d", &digits)返回1,则整数已被成功读取并以数字形式存储。

注意声明int digits确保只有整数值可以存储在digits中。

因此:

int digits;
if (scanf("%d", &digits) == 1) {
  // Integer was read successfully from stdin and assigned to digits
} else {
  // Integer was not read. No value was assigned to digits
}

最新更新