VC++怎么无法编译这个??

来源:百度知道 编辑:UC知道 时间:2024/06/26 02:20:19
目的是实现strcpy函数的功能
#include <stdio.h>
void mystrcpy(char to[],char from[])
{
int i;
i=0;
while(from[i]!='\0')
{
to[i]=from[i];
i++;
}
to[i]='\0';
}

main()
{
void mystrcpy();
char a[80],b[80];
printf("enter");
gets(a);
mystrcpy(b,a);
printf("the copy is:");
puts(b);
}

为什么这个无法编译??
好像很多可以在TC中的在VC++6.0都不能运行啊。

main()改为void main()
另外你在main函数外已经声明并定义了mystrcpy()函数,在main函数中不需要再次声明,删去那行就能编译通过。
C++与C虽然兼容但是很多处理方式都不一样

建项目时记得别选错,要选C++类型,然后创建名称后下一步点空项目,如果特定某种开发环境的话,有时就不能编译普通C++程序.main()是怎么回事?要添加void!还有void mystrcpy();函数在头文件下面申明.

main 函数中:void mystrcpy(); 这个申明与你的定义不一致
改为void mystrcpy(char to[],
char from[]); 就可以了

代码如下修改一下就可以了。

#include <stdio.h>
#include <stdlib.h>

void mystrcpy(char to[],char from[])
{
int i;
i=0;
while(from[i]!='\0')
{
to[i]=from[i];
i++;
}
to[i]='\0';
}

main()
{
char a[80],b[80];
printf("enter");
gets(a);
mystrcpy(b,a);
printf("the copy is:");
puts(b);

getchar();//按任意键退出,否则在windows下调试看不到结果

}

1、使用VC编译程序,最好建立一个win32 console application
2、在VC中函数是要指定类型的。main()可以int类型,可以是void型。如果是int要有返回值的,可以在函数后面