c语言字符串转数组代码
时间: 2023-05-25 12:04:04 浏览: 323
以下是将字符串转化为数组的C语言代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "This is a test string";
int arr[strlen(str)];
// 将字符串转换为数组
for (int i = 0; i < strlen(str); i++) {
arr[i] = str[i];
}
// 打印数组
for (int i = 0; i < strlen(str); i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
代码解释:
1. 该代码使用了两个C库,分别是stdio.h和string.h。
2. `char str[]` 声明了一个字符串变量,并初始化为"This is a test string"。
3. `int arr[strlen(str)]` 声明了一个整型数组,其长度为字符串长度。
4. for循环中,将字符串中的每一个字符转换为整型,并存储在数组中。
5. 最后,for循环遍历整型数组,并打印出每个元素的值。
相关问题
c语言字符串转数组
C语言中的字符串本质上是一个字符数组,因此可以通过将字符串赋值给字符数组来实现字符串转数组的功能。具体实现方法如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "hello world"; // 定义一个字符串
char arr[20]; // 定义一个字符数组
strcpy(arr, str); // 将字符串赋值给数组
printf("原字符串为:%s\n", str);
printf("转换后的数组为:%s\n", arr);
return 0;
}
```
上述代码中,我们首先定义了一个字符串 `str` 和一个字符数组 `arr`,然后使用 `strcpy()` 函数将字符串 `str` 的值赋给数组 `arr`。最后通过 `printf()` 函数分别输出原字符串和转换后的数组。
需要注意的是,字符数组的长度要足够存储整个字符串,否则可能会发生数组越界的错误。
c语言字符串转数组不使用strcpy
可以使用循环来实现字符串转数组,具体步骤如下:
1. 获取字符串的长度len;
2. 定义一个字符数组arr,长度为len+1(因为字符串以\0结尾);
3. 使用for循环遍历字符串,将字符串中的每个字符赋值给数组对应的元素;
4. 最后将数组的最后一个元素赋为'\0'。
示例代码如下:
```c
#include <stdio.h>
void stringToArray(char *str, char arr[]) {
int i, len;
len = strlen(str);
for (i = 0; i < len; i++) {
arr[i] = str[i];
}
arr[len] = '\0';
}
int main() {
char str[] = "hello";
char arr[6];
stringToArray(str, arr);
printf("%s\n", arr);
return 0;
}
```
阅读全文