C语言函数规范写法

来源:岁月联盟 编辑:zhu 时间:2009-02-18
通过一个实例来说明一下C语言函数的规范写法,看下面的例子:

ANSI:
int main(int argc, char *argv[])
{
...
}
#include <stdio.h>
int argc;
char *argv[2];
int main(argc,argv)
{
FILE *fp;
int i;
fp=fopen(argv[1],"rb");
if(fp==NULL)
puts("File open error");
while(!feof(fp))
putchar(fgetc(fp));

printf("/n");
i=fclose(fp);
if(i==0)
printf("O,K");
else
puts("File close error");

}

这个程序是网上一个教程中的,居然写的大有问题,不标准,所以会出现问题。 在碰到钉子之后,发帖子求教。自己改了方式写成
#include <stdio.h>

int main()
{
FILE *fp;
char filename[20];
pfile(fp,filename);
}

int pfile(FILE *fp,char filename[])
{

fp=fopen(gets(filename),"rb");
while(!feof(fp))
putchar(fgetc(fp));
}
倒是实现了想法。

后来了解到,最开始摘抄的程序不标准,应该改成 int main(int argc,char *argv[]),这跟我自己后来写的程序类似,通过调用函数,
只不过只是调用自己本身而已,所以行参,也要写完整,变量类型。 难怪要说
error: subscripted value is neither array nor pointer

图片内容