📅  最后修改于: 2023-12-03 15:29:43.727000             🧑  作者: Mango
在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