c - 如何在字符串中复制一个字母?
问题描述
我想编写一个程序,在其中复制给定字符串中的每个字母。
例如,如果输入是,abc
那么输出将是aabbcc
。
我怎样才能做到这一点?
到目前为止,这是我的代码。它只复制字符串:
#include <stdio.h>
int main () {
char str_in[100];
char str_out[200] = "";
int i;
printf("Enter a word: ");
scanf("%s", str_in);
for (i = 0; i < sizeof(str_in); i++) {
str_out[i] += str_in[i];
}
printf("Duplicated word: %s", str_out);
return 0;
}
解决方案
对于初学者,目标字符数组应至少比源数组大两倍。
执行复制的循环可以如下所示
size_t j = 0;
for ( size_t i = 0; str_in[i] != '\0'; i++ )
{
str_out[j++] = str_in[i];
str_out[j++] = str_in[i];
}
str_out[j] = '\0';
推荐阅读
- excel - Excel 中 VBA 中的代码是什么,它将选择宏最初启动的第一个单元格?
- javascript - 如何将 Apple 应用关联添加到 React App
- r - dplyr:按组查找第一个非零元素和最后一个非零元素和修剪向量
- python-3.x - Ursina 引擎,如何卸载玩家看不到的方块面
- laravel - 在 Laravel 上的 SQL 中选择多个项目的列
- python-3.x - 为什么我不能使用 Tensorflow "map_fn" d 来迭代批量张量?
- mysql - 如何在sql查询中从两个表中获取多个数据
- docker - 如何在本地开发中处理容器化 OIDC 服务器的 https?
- reactjs - 在 React 项目中使用 express 的服务器错误
- javascript - 如何使用午夜.js 更改标题颜色