c语言将字符串储存入数组修改后输出
时间: 2024-11-09 16:27:48 浏览: 13
在C语言中,你可以通过动态分配内存来创建一个字符数组存储字符串,然后对其进行修改后再输出。这里有一个简单的例子:
```c
#include <stdio.h>
#include <stdlib.h> // 引入malloc库用于动态分配内存
void modify_and_output(char* str) {
// 动态分配内存以存储字符串
int len = strlen(str) + 1; // 需要额外的空间存储'\0'
char* new_str = (char*)malloc(len * sizeof(char));
// 将原始字符串复制到新分配的内存区域
strcpy(new_str, str);
// 修改部分字符
for (int i = 0; i < strlen(str); i++) {
if (str[i] == 'o') { // 这里假设我们要替换所有的'o'
new_str[i] = '*'; // 改为'*'
}
}
// 输出修改后的字符串
printf("Modified string: %s\n", new_str);
// 释放之前分配的内存
free(new_str);
}
int main() {
char original_str[] = "Hello, World!";
modify_and_output(original_str);
return 0;
}
```
在这个例子中,我们首先计算了原字符串加上终止符所需的总长度,然后动态申请了相应的内存空间。接着,我们将原始字符串复制到新数组中,并遍历字符串,遇到'o'就将其替换为'*'。最后,我们打印出修改后的字符串并记得用`free()`函数释放动态内存。
阅读全文