C编程:如何检查给定的数字是否完全是数字,不是更多/不能更少?
我还是C编程新手。对不起,如果这是一个容易提出的问题。
答案 0 :(得分:2)
只需检查数字的范围:
int x = 4125; //this is just an example value ...
if( (x >= 1000 && x <= 9999) || (x >= -9999 && x <= -1000) ){
//is valid
}else{
//is not valid
}
答案 1 :(得分:0)
这是一个执行该功能的功能
#include <stdio.h>
int f(int n);
int main(void)
{
int n = 1234;
int num_of_digits = f(n);
if( num_of_digits == 4 )
{
printf("%d\n",num_of_digits);
}
}
int f(int n)
{
int num_of_digits = 0;
while( n )
{
n /= 10;
num_of_digits++;
}
return num_of_digits;
}
答案 2 :(得分:-1)
如果你真的想要4位数,你可以使用Tom Mekken给出的方法。 但是,如果您只想检查整数的位数,您可以始终使用此方法:
floor (log10 (abs (x))) + 1
请记住,当数字为零时它不会起作用,所以你必须先检查它。