用C语言编写一个将一个字符串由字符串中的若干空格分割为若干字符串的函数
时间: 2023-05-23 09:06:04 浏览: 55
```
#include <stdio.h>
void split_string(char *str) {
int i = 0;
while (*str) {
if (*str == ' ') {
printf("\n"); // 换行
}
else {
printf("%c", *str); // 打印字符
}
str++; // 指针后移
}
}
int main() {
char str[] = "hello world";
split_string(str);
return 0;
}
```
该函数将输入的字符串按空格分割成若干个字符串,并打印输出。在主函数中,调用该函数并传入需要分割的字符串作为参数。具体的实现是遍历字符串中的每个字符,如果遇到空格,则换行打印;否则,打印字符。
相关问题
用C语言编写一个将一个字符串由空格分割为若干子串的函数
A:
```c
#include <stdio.h>
void split_string(char *str) {
int i, j = 0;
char temp[100];
for (i = 0; str[i] != '\0'; i++) {
if (str[i] == ' ') {
temp[j] = '\0';
printf("%s\n", temp);
j = 0;
} else {
temp[j++] = str[i];
}
}
temp[j] = '\0';
printf("%s\n", temp);
}
int main() {
char str[] = "this is a test string";
split_string(str);
return 0;
}
```
在这个函数中,我们首先遍历字符串中的每个字符,当遇到空格时,我们使用一个临时字符数组(temp)来存储之前的子串。我们将数组中的每个字符依次复制到temp中直到遇到一个空格,然后将temp末尾加上一个空字符来标识子串的结束,并使用printf将子串打印出来。最后,我们还需要处理字符串中最后一个子串,这个子串没有空格,所以我们需要手动在temp的末尾加上一个空字符,然后再次打印它。
用C语言编写一个将一个字符串由空格分割为若干字串的函数
A:
```c
void split_string(char *str) {
char *token;
token = strtok(str, " ");
while(token != NULL) {
printf("%s\n", token);
token = strtok(NULL, " ");
}
}
```
请注意,该函数只适用于空格来分隔字符串,若要使用其他分隔符,需要改变第二个参数的值。此外,该函数会输出分隔后的每一个字串,而非将其存储起来。如果需要存储,需要在内部添加变量来处理。