c语言高手请进!

2024-11-17 21:46:29
推荐回答(3个)
回答1:

>>void do_heading(char *filename);
函数前置声明(没有定义,需要后文有函数定义);

>>int line = 0, page = 0;
定义两个全局变量,并赋值为0;

main可以有参数,一个是argc,代表程序运行时传入的参数个数(arguement count),另一个是argv[],代表每个参数的值(arguement values)。你这个程序中main函数的参数名写反了,虽然不会报错,但容易误导。

需要注意一点,程序运行时,默认第一个参数是程序的可执行文件名,然后才是传入的参数,例如:
C:\>program1.exe aa bb
这样带有两个参数"aa"和"bb"执行program1.exe的话:
argc的值为3,
argv[0]="program1.exe"
argv[1]="aa"
argv[2]="bb"
main函数中可以使用循环得到每个参数的值:
for (int i=1; i{
argv[i] ....

}

回答2:

void do_heading(char *filename); 声明一个函数,这个函数的定义你应该在下面添加上,

int line = 0, page = 0; 定义全局变量,这两个变量可以被此文件内的主函数和其它函数使用

main函数可以带参数,如果需要根据参数做处理,你就
for(int i=0;i{
if(strcmp(argc[i],"1"))

{

//do something

}

}
这些参数是操作系统负责传入的,如果你程序的名字是a.exe
使用时要这样写 a.exe 1,此时argv为值1,argc[0]为“1”

回答3:

#include 是预编译指令;
void do_heading(char *filename)是函数声明;
int line = 0, page = 0;是定义全局变量;