c以空格分割字符串并把返回值赋给不同变量
时间: 2024-03-09 09:51:34 浏览: 31
可以使用C语言的库函数strtok()来按空格分割字符串,并将分割后的子串赋值给不同的变量。
下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello world! How are you?";
char *token;
char *str_arr[4];
int i = 0;
token = strtok(str, " ");
while (token != NULL) {
str_arr[i++] = token;
token = strtok(NULL, " ");
}
char *var1 = str_arr[0];
char *var2 = str_arr[1];
char *var3 = str_arr[2];
char *var4 = str_arr[3];
printf("%s\n%s\n%s\n%s\n", var1, var2, var3, var4);
return 0;
}
```
输出结果为:
```
Hello
world!
How
are
```
在这个示例中,我们首先声明了一个字符串str,并声明了一个指针数组str_arr用于存储分割后的子串。使用while循环遍历分割后的字符串数组,将每个子串赋值给str_arr数组中对应的元素。
最后,将str_arr数组中的元素分别赋值给不同的变量,然后使用printf()函数输出这些变量的值。
需要注意的是,本示例中假设分割后的字符串数组有且仅有4个元素,如果实际情况中分割后的字符串数组长度不确定,可以使用动态内存分配来解决。同时,需要根据实际需求来修改代码。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)