用C语言写出将字符串转为二进制数组
时间: 2023-08-04 12:12:59 浏览: 139
c语言版本-字符串转数组
下面是一个将字符串转换为二进制数组的 C 代码示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一个字符串: ");
scanf("%s", str);
int len = strlen(str);
int binlen = len * 8; // 字符串长度乘以8,得到二进制数组的长度
int binary[binlen];
memset(binary, 0, sizeof(binary)); // 初始化数组
for (int i = 0; i < len; i++) {
for (int j = 0; j < 8; j++) {
binary[i * 8 + j] = (str[i] >> j) & 1; // 逐位转换
}
}
printf("转换后的二进制数组为: ");
for (int i = 0; i < binlen; i++) {
printf("%d", binary[i]); // 输出二进制数组
}
printf("\n");
return 0;
}
```
要注意的是,这个代码示例中默认输入的字符串长度不超过100,如果输入的字符串过长,需要对代码进行修改以避免数组越界等问题。
阅读全文