C语言字符串处理:统计字符串中数字字符个数

这篇文章将介绍如何使用C语言编写一个程序,用于统计输入字符串中数字字符的个数。

代码示例

#include <stdio.h>

int main() {
    char string[80];
    printf('Enter a string:');
    fgets(string, sizeof(string), stdin);
    
    int count = 0;
    for (int i = 0; string[i] != '\0'; i++) {
        if (string[i] >= '0' && string[i] <= '9') {
            count++;
        }
    }
    
    printf('count=%d\n', count);
    
    return 0;
}

代码解释

  1. #include <stdio.h>: 包含标准输入输出库,以便使用 printffgets 函数。
  2. char string[80];: 定义一个字符数组 string,用于存储用户输入的字符串,最大长度为 80 个字符。
  3. printf('Enter a string:');: 在控制台上显示提示信息,引导用户输入字符串。
  4. fgets(string, sizeof(string), stdin);: 从标准输入流读取用户输入的字符串,并存储到 string 数组中。
  5. int count = 0;: 定义一个整数变量 count,用于存储数字字符的个数,初始值为 0。
  6. for (int i = 0; string[i] != '\0'; i++): 使用循环遍历字符串中的每个字符,直到遇到字符串结束符 '\0'
  7. if (string[i] >= '0' && string[i] <= '9'): 判断当前字符是否是数字字符。
  8. count++;: 如果当前字符是数字字符,则将计数器 count 加 1。
  9. printf('count=%d\n', count);: 打印最终的数字字符个数。

输入输出样例

输入:

Enter a string:1212shanghai345

输出:

count=7

注意

  • 程序假设用户输入的字符串不超过 79 个字符,因为 string 数组的最大长度为 80,还需要预留一个位置存放字符串结束符 '\0'
  • 程序使用 fgets 函数读取用户输入,可以避免使用 scanf 函数读取字符串时可能遇到的缓冲区溢出问题。
C语言字符串处理:统计字符串中数字字符个数

原文地址: https://www.cveoy.top/t/topic/n8b 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录