C语言写一个函数,判断一个字符串是不是一个带有小数的数字,是用1表示,否用0表示,可以判断负数
时间: 2023-02-12 15:48:18 浏览: 123
C语言、C++_字符串处理函数集合(更新)
下面是一个在 C 语言中判断字符串是否是带有小数的数字,并返回 1 或 0 的函数示例:
```
#include <ctype.h>
int is_decimal(const char *str) {
int dot_count = 0;
int digit_count = 0;
if (str == NULL) return 0;
for (; *str; str++) {
if (*str == '.') {
dot_count++;
} else if (isdigit(*str) || (*str == '-' && str == str)) {
digit_count++;
} else {
return 0;
}
}
return (dot_count <= 1 && digit_count > 0);
}
```
这个函数首先检查字符串是否为空,然后遍历字符串中的每个字符,统计小数点和数字的数量。如果字符串中存在除了小数点和数字之外的字符,函数就返回 0。如果字符串中小数点的数量不超过 1 且数字的数量大于 0,函数就返回 1。
注意函数可以判断负数,但是没有判断是否是负数。如果需要判断负数,可以在上面函数中加上判断。
阅读全文