我想要在字符串的每个字符之间留一个空格,就像我将给输入"HELLO"
结果将为"H E L L O"
我需要帮助
[根据评论编辑]
我想要一个字符串
for (i = 0; i <= strlen(str); i++) {
printf("\n String is: %s", str[i]);
printf(" ");
}
答案 0 :(得分:1)
更简短,更笼统的答案是,您需要将字符回退,并在字符之间插入''。到目前为止你做了什么?需要安装吗?
一个(也许不是最佳方法,但易于遵循的解决方案)将是制作一个更大的数组,以交替的字母进行复制,例如(不保证逐字工作)
char foo[N]; // assuming this has N characters and you want to add a space in between all of them.
char bar[2*N];
for (int i = 0; i < N; i++) {
bar[2*i] = foo[i];
if (i != N - 1)
bar[2*i + 1] = ' ';
}
当然,此新字符串在bar内,但可以根据需要起作用。您什么时候遇到问题?
答案 1 :(得分:1)
尝试
#include <stdio.h>
void add_spaces(char need_to_add[])
{
int len = strlen(need_to_add);
char with_spaces[len*2];
int space_index = 0;
for (int i=0 ; i<len ; i++)
{
with_spaces[space_index]=need_to_add[i];
with_spaces[++space_index]=' ';
space_index=space_index+1;
}
printf("%s\n", with_spaces);
}
int main()
{
char * a = "aaa";
add_spaces(a); // fraught with problems
return 1;
}