- 论坛徽章:
- 1
|
请教下大家下面的这个程序的错误:
void cy (char *to, char *from)
{
for ( ; *from != '\0'; ++from, ++to )
*to = *from;
*to != '\0';
}
int main(void)
{
void cy( char *to, char *from);
char str1[] = "how are you";
char str2[50];
cy ( str2, str1);
printf ("%s\n", str2);
cy ( str2, "what are you doing");
printf ("%s\n" str2);
return 0;
}
里面在两个错误,有一个是错误是 “*to != '\0'”错误原因是 “statement with no effect”(这是编译器下的错误警告)。 第二个错误是
“ cy ( str2, "what are you doing");
printf ("%s\n" str2);”这里,可以编译成功,但显示的竟是段错误。
这两个错误要请教你们了,为什么会出现这种情况?
(我是在虚拟机下的LINUX写的,在WINDOW下解释得不是很清楚请不要介意) |
|