#include "stdio.h"
#include "string.h"
#include "stdlib.h"
int main(int argc,char *argv[]){
FILE *fp1,*fp2
char temp[101]
int i
if(argc<3){
fputs("error",stderr)
exit(1)
}
if((fp2=fopen(argv[2],"r"))==NULL){//这里少了括号,改了
printf("Fail to open %s.\n",argv[2])
exit(2)
}
if((fp1=fopen(argv[1],"w"))==NULL){//这里也少了括号,改了
printf("Fail to open %s.\n",argv[1])
exit(2)
}
printf("%s,%s\n",argv[1],argv[2])
拍搜 袭纤printf("hh\n")
while((i=fread(temp,sizeof(char),100,fp2))>0){//少了一对(),改了
fwrite(temp,i*sizeof(char),1,fp1)
printf("hh\n")
}
fclose(fp2)
fclose(fp1)
袭禅历 printf("Done\n")
return 0
}
这样就没有问题了……
程序铅闭存在一些问题,具体如下:
所有的float最好改为double,不然会发生精度损答备失问题。因为涉及到浮点数计算,为保证计算精度,使用double比较保险。改的时候记得把“%f”占位符改为“%lf”。
程序中的“/n”改为“\n”,转义符号要使用反斜线转义。
fun函数的声明最好写到外层,而不是写在funl函数中。
main函数中调用fun函数时,参数个数少了一个,并且末尾没有加分号结束。这是语法错误,会直接导致编译失败。
main函数的返回值最好是int,默认返回0。
由于不清楚三个读取的txt文件是什么,不清楚读文件后的执行逻辑是否正确。打开文件时没有判断文件是否打开成功,若文件不存在,会导致程序直接崩溃。
fun函数没有声明返回值,应该声明为void。
fun1函数声明了返回值,但是实际并没有返回,而且没槐举裂有使用到返回值,因此返回值类型可改为void。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)