这是代码。它必须具有void main()之前的部分,因为它是我被告知代码的要求。void strcopy之后的东西需要保留到void main()。将一个字符串复制到另一个字符串的程序,其中包括打印奇怪字符
#include <stdio.h>
void strcopy(char * string1, char * string2)
{
int i = 0;
while (string1[i] != '\0') {
string2[i] = string1[i];
i++;
}
return;
/* copies string1 to string 2 */
}
void main()
{
char string1[1000], string2[1000];
int i;
printf("Enter the string: \n");
scanf("%[^\n]s", string1);
printf(" %s ", string2);
return;
}
这是什么正在打印,我很难过。有人可以帮我吗?
Enter the string:
hello
t��\�
感谢
你永远不会调用'strcopy()',所以'string2()'是未初始化的。 – Barmar
应该使用'scanf(“%999 [^ \ n] s”,string1);'而不是为了防止缓冲区溢出。 – RoadRunner