通過一個實例來說明一下C語言函數(shù)的規(guī)范寫法,看下面的例子:
ANSI:
int main(int argc, char *argv[])
{
...
}
#include
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");
}
這個程序是網(wǎng)上一個教程中的,居然寫的大有問題,不標準,所以會出現(xiàn)問題。 在碰到釘子之后,發(fā)帖子求教。自己改了方式寫成
#include
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));
}
Examda提示: 實現(xiàn)方法,應(yīng)該改成 int main(int argc,char *argv[]),這跟我自己后來寫的程序類似,通過調(diào)用函數(shù),
只不過只是調(diào)用自己本身而已,所以行參,也要寫完整,變量類型。
error: subscripted value is neither array nor pointer
ANSI:
int main(int argc, char *argv[])
{
...
}
#include
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");
}
這個程序是網(wǎng)上一個教程中的,居然寫的大有問題,不標準,所以會出現(xiàn)問題。 在碰到釘子之后,發(fā)帖子求教。自己改了方式寫成
#include
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));
}
Examda提示: 實現(xiàn)方法,應(yīng)該改成 int main(int argc,char *argv[]),這跟我自己后來寫的程序類似,通過調(diào)用函數(shù),
只不過只是調(diào)用自己本身而已,所以行參,也要寫完整,變量類型。
error: subscripted value is neither array nor pointer