当前位置:首页C语言 > 正文

c语言判断字符串是否为数字

作者:野牛程序员:2023-12-02 18:09:18C语言阅读 2717

使用C语言判断字符串是否为数字可以通过以下方法实现:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int isNumeric(const char *str) {
    int i = 0;

    // 处理可能的正负号
    if (str[i] == '+' || str[i] == '-') {
        i++;
    }

    int dotCount = 0; // 记录小数点出现的次数

    // 检查剩余部分的字符
    while (str[i] != '\\0') {
        // 检查是否为数字
        if (str[i] >= '0' && str[i] <= '9') {
            i++;
        } else if (str[i] == '.') {
            // 允许一个小数点
            if (dotCount == 0) {
                dotCount++;
                i++;
            } else {
                return 0; // 多个小数点,不是数字
            }
        } else {
            return 0; // 非数字字符
        }
    }

    return 1; // 字符串是数字
}

int main() {
    const char *str1 = "12345";
    const char *str2 = "-123.45";
    const char *str3 = "12a34";

    if (isNumeric(str1)) {
        printf("%s 是数字\\n", str1);
    } else {
        printf("%s 不是数字\\n", str1);
    }

    if (isNumeric(str2)) {
        printf("%s 是数字\\n", str2);
    } else {
        printf("%s 不是数字\\n", str2);
    }

    if (isNumeric(str3)) {
        printf("%s 是数字\\n", str3);
    } else {
        printf("%s 不是数字\\n", str3);
    }

    return 0;
}

上述代码定义了一个函数isNumeric,该函数接受一个字符串作为参数并返回一个整数,指示该字符串是否表示一个数字。在main函数中,使用这个函数来检查不同的字符串。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击