C语言吧1-10转换成char数组
时间: 2023-12-10 13:42:38 浏览: 25
可以使用sprintf函数将数字转换为字符数组。
下面是一个示例代码:
```c
#include <stdio.h>
int main() {
int i;
char str[10];
for (i = 1; i <= 10; i++) {
sprintf(str, "%d", i);
printf("%s\n", str);
}
return 0;
}
```
输出:
```
1
2
3
4
5
6
7
8
9
10
```
相关问题
C语言把整形1-10存到char数组中
可以使用字符数组(char array)来存储整数,但是需要注意的是字符数组的长度必须足够存储所有的数字和可能的符号。如果只是存储1-10这10个整数,我们可以使用以下代码:
```c
char num[20]; // 定义一个长度为20的字符数组,用于存放整数
for(int i=1; i<=10; i++){
num[i-1] = i + '0'; // 将数字转为字符存入数组,注意加上 '0'
}
printf("%s", num); // 打印字符数组
```
在上面的代码中,我们定义了一个长度为20的字符数组`num`,然后使用for循环将1-10依次转换成字符,并存储到数组中。注意,我们需要将数字转换成字符,可以通过加上字符`'0'`来实现。最后,我们可以使用printf函数打印整个字符数组。
C语言把整形1-31存到char数组中
你可以使用位运算符将整数转换为二进制串,并将每个二进制位存储到一个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`数组作为字符串输出。