C语言把整形1-31存到char数组中
时间: 2023-08-03 10:05:20 浏览: 114
你可以使用位运算符将整数转换为二进制串,并将每个二进制位存储到一个char数组中。下面是一个示例代码:
```c
#include <stdio.h>
int main() {
int num = 31;
char binary[32]; // 32位二进制数,需要一个额外的空间存放'\0'
binary[31] = '\0'; // 数组最后一个元素为'\0'
// 将num转换为二进制串存储到binary数组中
for (int i = 30; i >= 0; i--) {
binary[i] = ((num >> (30 - i)) & 1) + '0'; // 位运算得到二进制位,加上'0'转换为字符
}
printf("%s\n", binary);
return 0;
}
```
输出:
```
00000000000000000000000000011111
```
在上面的代码中,我们使用位运算符`>>`和`&`将每个二进制位提取出来,并将其存储在`binary`数组中。需要注意的是,数组中的最后一个元素必须是`\0`,这样才能正确地将`binary`数组作为字符串输出。
相关问题
C语言把整形1到100存到char数组中
你好,将1到100的整数存储在char数组中,需要进行类型转换。可以使用以下代码实现:
c
#include <stdio.h>
int main()
{
char arr[400]; // char数组
int;
for (i = 0; i <100; i++)
{
arr[i] = (char)(i + 1); // 整型转换为char类型存储
}
for (i = 0; < 100; i++)
{
printf("%d ", arr[i]); // 输出char数组中存储的整数
}
return 0;
}
```
输出结果为:
```
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
```
C语言把整形0到100存到char数组中
可以使用sprintf函数将整数转换为字符串,并将字符串存储到char数组中。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char array[1024];
int i;
for (i = 0; i <= 100; i++) {
sprintf(array + strlen(array), "%d ", i);
}
printf("%s", array);
return 0;
}
```
上面的代码中,我们定义了一个大小为1024的char数组,并使用sprintf函数将0到100之间的整数转换为字符串,并将它们连接在一起,最终存储到char数组中。最后,我们使用printf函数将这个char数组输出到控制台上。
阅读全文