📜  C |字串|问题11(1)

📅  最后修改于: 2023-12-03 15:29:43.727000             🧑  作者: Mango

C字符串问题11

在C语言中,字符串被存储为字符数组,并以空字符'\0'结尾。字符串中的字符数不包括空字符。

问题11:编写一个C程序,输入一个字符串,将该字符串中的空格全部替换为'_'字符。

#include <stdio.h>

int main() {
    char str[100];      //定义字符串
    int i;

    printf("Enter a string: ");
    fgets(str, sizeof(str), stdin);     //读取字符串,包括空格和换行符

    for (i = 0; str[i] != '\0'; i++) {  //循环遍历字符串中的每个字符
        if (str[i] == ' ') {            //如果该字符是空格,就将其替换为'_'
            str[i] = '_';
        }
    }

    printf("The modified string is: %s", str);   //输出修改后的字符串

    return 0;
}

解释:程序首先定义一个长度为100的字符数组str,并读取用户输入的字符串,包括空格和换行符。接着,程序使用一个for循环遍历字符串中的每个字符,如果该字符是空格,就将其替换为'_'。最后,程序输出修改后的字符串。

例子:

输入:hello world

输出:hello_world

输入:this is a string with spaces

输出:this_is_a_string_with_spaces