C语言怎么把数字存入字符串数组
时间: 2024-05-10 21:20:44 浏览: 95
可以使用sprintf函数将数字转换为字符串并存入字符串数组中。
示例代码:
```c
#include <stdio.h>
int main() {
int num = 123;
char str[10];
sprintf(str, "%d", num);
printf("num = %d\n", num);
printf("str = %s\n", str);
return 0;
}
```
输出结果:
```
num = 123
str = 123
```
在上面的代码中,sprintf函数将整数变量num转换为字符串并存储到字符数组str中。格式化字符串"%d"表示将整数转换为十进制整数字符串。在使用sprintf函数时,需要注意要给字符数组留出足够的空间,以免发生缓冲区溢出。
相关问题
C语言如何将字符存入二维数组
在C语言中,要将字符存入二维数组,首先要确定数组的行数和每行的列数。假设我们有一个二维数组`char array[row][column]`,可以按照以下步骤操作:
1. **声明和初始化**:
```c
#define ROWS 5 // 行数
#define COLS 3 // 列数
char two_dim_array[ROWS][COLS]; // 定义二维数组
// 初始化每个元素
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
two_dim_array[i][j] = 'A' + (i * COLS + j); // 例如,从'A'开始计数,填充数字
// 或者直接赋给特定字符,如 two_dim_array[i][j] = 'a'; 或者 two_dim_array[i][j] = '1';
}
}
```
2. **访问元素**:
可以通过索引来访问数组内的每个字符,例如`array[row_index][col_index]`。
3. **处理字符串**:
如果你想存储的是字符串,可以先将字符串复制到数组内,然后按需转换成字符数组。
C语言编程输入一个字符串strl,把其中的连续非数字的字符 子串换成一个*,存入字符数组str2中,所有数字字符也 必须依次存入str2中。输出str2。
答案如下:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define MAXLEN 100
void replace_non_digits(char *str1, char *str2) {
int i, j, len;
len = strlen(str1);
for (i = 0, j = 0; i < len; i++) {
if (!isdigit(str1[i])) {
str2[j++] = '*';
} else {
str2[j++] = str1[i];
}
}
str2[j] = '\0';
}
int main() {
char str1[MAXLEN], str2[MAXLEN];
printf("请输入一个字符串:");
fgets(str1, MAXLEN, stdin);
replace_non_digits(str1, str2);
printf("处理后的字符串为:%s\n", str2);
return 0;
}
```
输入一个字符串,调用 replace_non_digits 函数进行处理,将非数字字符替换为 `*`,将数字字符存入 str2 中,最后输出处理后的字符串。注意调用时第二个参数 str2 需要预先分配足够的空间。
阅读全文