扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
C语言规定程序有且只有一个主函数main(),程序是从主函数开始运行的,到主函数结束的。在此期间如果遇到其他函数的话,就会去调用其他函数,调用其他函数完后又返回主函数调用处继续运行主函数结束为止!
创新互联公司主营墨竹工卡网站建设的网络公司,主营网站建设方案,app开发定制,墨竹工卡h5小程序设计搭建,墨竹工卡网站营销推广欢迎墨竹工卡等地区企业咨询
首先,c中有且仅有一个主函数,所以第一步,你必须的把两个函数改成其他名字:
#include stdio.h
int function1()
{
int len=0;
int len2=0;
FILE* stream;
FILE* stream1;
FILE* stream2;
char buf[50];
char buf1[50];
char buf2[50];
char text[1024];
printf("input anfile path to open:");
scanf("%s",buf);
stream=fopen(buf,"r+");
fseek(stream,0,SEEK_END);
len=ftell(stream);
printf("the file %s length is %d!\n",buf,len);
len2 = len/2;
printf("intput 2 file name: \n");
scanf("%s%s",buf1,buf2);
fseek(stream,0,SEEK_SET);
stream1=fopen(buf1,"w+");
stream2=fopen(buf2,"w+");
fread(text,len2,1,stream);
fwrite(text,len2,1,stream1);
fread(text,len-len2,1,stream);
fwrite(text,len-len2,1,stream2);
fclose(stream);
fclose(stream1);
fclose(stream2);
return 0;
}
int function2()
{
int len=0;
int len2=0;
FILE* stream;
FILE* stream1;
char buf[50];
char buf1[50];
char text[1024];
printf("input anfile path to open:");
scanf("%s",buf);
stream=fopen(buf,"r+");
fseek(stream,0,SEEK_END);
printf("intput another file name: \n");
scanf("%s",buf1);
stream1=fopen(buf1,"r+");
fseek(stream1,0,SEEK_END);
len=ftell(stream1);
fseek(stream1,0,SEEK_SET);
fread(text,len,1,stream1);
fwrite(text,len,1,stream);
fclose(stream);
fclose(stream1);
remove(buf1);//remove the another file
return 0;
}
//第二部:如果有条件的调用它们的话,加上if语句或者switch语句,基本上都是这样,此外,你可以把function1 和function2放入一个头文件中,然后包含这个头文件亦行。
void main()
{
function1();
function2();
}
c语言中一个完整的函数由函数首部和函数体构成,而且定义函数时两者都是必不可少的。
函数定义的一般形式如下:
类型标识符
函数名(形参表列)
//
这是函数首部
//
以下{
}内的是函数体
{
说明部分
执行部分
}
举例说明如下:
//
定义一个不带返回值的函数
//
函数功能:输出形参的值
void
fun(int
a,
int
b)
{
printf("%d,
%d\n",
a,
b);
}
//
定义一个带返回值的函数
//
函数功能:返回2个整数数的最大值
int
fun(int
a,
int
b)
{
return
ab
?
a
:
b;
}
1)主函数中应该有这几个变量的声明,比如:int a, b, c;
也要有函数的声明(注意函数参数应该用指针传递),比如fun1(int *a, int *b, int *c);
fun2(int *b);
2)主函数中出现这两个函数调用时,采用a,b,c变量的指针传递,比如:fun1(a, b, c),
并在函数fun1体内通过指针形式赋值,比如:*a=1或*b=2或*c=3,这样,就能影响a,b,c变量的原值了;
3)fun2(int *b)取得的b值就已经是fun1中改变过的值了。
总结:函数间值引用和改变,要通过指针传递方式。
主函数是形式上的进程入口,如果编译并链接成可执行文件(例如.exe),必须有且只有一个。
如果仅是编译成一般目标文件(例如.obj)作为模块使用,则可没有主函数。如果把目标程序链接为同一个可执行文件(上面的.exe是其中的一种情况),那么这些被链接的模块中必须有且只有一个主函数。
====
[原创回答团]
一个C语言程序是由一个或多个函数组成的,其中必须包含一个main函数(且只能有一个main函数.)。
C语言是一种计算机程序设计语言,属高级语言范畴既具有高级语言的特点,又具有汇编语言的特点,可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言。
如果main中调用函数,那么这个函数必须在mani函数的前面。但是也可以在main函数的前面声明。因为代码是从main 函数开始,一条一条的顺序执行的。
如果main中调用函数,那么这个函数必须在mani函数的前面。但是也可以在main函数的前面声明。因为代码是从main 函数开始,一条一条的顺序执行的。
扩展资料:
在C语言当中,一个程序,无论复杂或简单,总体上都是一个“函数”;这个函数就称为“main() 函数”,也就是“主函数”。比如有个“做菜”程序,那么“ 做菜 ”这个过程就是“主函数”。在主函数中,根据情况,你可能还需要调用“买菜,切菜,炒菜”等子函数。
main函数在程序中大多数是必须存在的,但是依然有例外情况,比如windows编程中可以编写一个动态链接库(dll)模块,这是其他windows程序可以使用的代码。由于DLL模块不是独立的程序,因此不需要main函数。再比如,用于专业环境的程序-----如机器人中的控制芯片--可能不需要main函数。
参考资料:main函数_百度百科
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流