tjf 发表于 2013-10-23 21:28:03

图片文件合成器的问题!

本帖最后由 tjf 于 2013-10-24 19:43 编辑


#include "stdio.h"
#include "stdlib.h"
void main()
{
FILE *jpg,*rar,*finish;
char ch,j,r,f;
printf("图片所在地址:");
scanf("%s",j);
printf("压缩文件所在地址:");
scanf("%s",r);
printf("合成后的地址:");
scanf("%s",f);
if(!(jpg=fopen(j,"rb")));
{
printf("图片地址无效!\n");
return;
}
if(!(rar=fopen(r,"rb")));
{
printf("压缩文件地址无效!\n");
return;
}
if(!(finish=fopen(f,"wb")));
{
printf("合成后的地址无效!\n");
return;
}
while(!(feof(jpg)))
{
ch=fgetc(jpg);
fputc(ch,finish);
}
fclose(jpg);
while(!(feof(rar)))
{
ch=fgetc(rar);
fputc(ch,finish);
}
fclose(rar);
fclose(finish);
system("pause");
}这段小程序哪里有错?
没错的话,合成后文件去哪了?
我生成可执行文件,打开后,输入完所有东西,回车后闪一下就没了,不是有system("pause");吗?为什么这样?

tjf 发表于 2013-10-24 19:01:31

大神何在?:mad:

tjf 发表于 2013-10-24 21:06:50

弄了几个小时,对着源代码看了N遍,终于找到错误了!
就错在if判断语句后面加了“;”
哎,我真是太蠢了,浪费一堆时间。
这么简单的错误居然没人看出来并告诉我。。。:sweat:

musilintan 发表于 2013-10-26 22:35:22

大哥。。。if后面跑出来个“;”,这完全是你粗心导致的。。。以后自己好好看看,编程要的就是细心。今天有人告诉你这多了;好。这是代码短。以后难道工作了,你连公司的代码都要贴出来问不成啊。。。所以,以后一定要细心,耐心。还有就是你那if语句里面写赋值语句。那样写你以后会疯的。if里面只写具备真假效果的表达式,而且容易辨别。写赋值表达式很危险的。很容易和==混淆的。这种错误编译器都是无法发现的。就像你那“;”。这种编程习惯最终苦的还是自己。建议你看看编程规范。有一个好习惯,能为你以后的编程节省很多时间。

tjf 发表于 2013-10-28 20:17:34

musilintan 发表于 2013-10-26 22:35 static/image/common/back.gif
大哥。。。if后面跑出来个“;”,这完全是你粗心导致的。。。以后自己好好看看,编程要的就是细心。今天有 ...

多了个“;”是我自己看出来的,不是别人告诉我的。:sweat:
不过这也是我的粗心造成的!我会养好习惯的,因为我还是初学者而已!谢谢你的话!

xuaner0719 发表于 2013-10-29 11:57:38

这个真的不是很懂哦
页: [1]
查看完整版本: 图片文件合成器的问题!