我希望迭代一个字符串(由用户输入),在每个字符后面返回输入的字符串,并添加一个空格。即"你好" - > " H e l l o"。
我的代码在C:
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "";
printf("Enter a string: ");
scanf("%s", &str);
int i = 0;
char newstr[150] = "";
for (i = 0; i < strlen(str); i++)
{
strcat(newstr, str[i]);
strcat(newstr, " ");
}
printf("Expanded String: ");
printf("%s", newstr);
return 0;
}
我的错误如下:
警告:传递'strcat'的参数2使得整数指针没有强制转换[默认启用] -----&gt; strcat(newstr,str [i]);
注意:预期'const char *'但参数类型为'char' -----&gt; char * _EXFUN(strcat,(char * __ restrict,const char * __ restrict));
我习惯使用python语法来连接字符串索引,这是我的C代码出错了吗?
答案 0 :(得分:2)
for (i = 0; i < strlen(str); i++)
{
newstr[2*i]=str[i];
newstr[2*i+1]=' ';
}
// newstr[2 * strlen(str)] = '\0';
// thanks for the hint - I omit that because
// the whole buffer had been cleared during initialization