首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

为什么会出错解决方案

2012-03-11 
为什么会出错#include stdio.h#include stdlib.h#define NULL 0int main(){FILE *fpchar ch,filename

为什么会出错
#include <stdio.h>
#include <stdlib.h>
#define NULL 0

int main()
{
FILE *fp;
char ch,filename[10];
scanf("%s",filename);
if((fp=fopen("filename","w"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
ch=getchar();
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);
putchar(ch);
}
putchar(10);
fclose(fp);
return 0;
}

[解决办法]
#include <stdio.h>
#include <stdlib.h>
#define NULL 0

int main()
{
FILE *fp;
char ch,filename[10];
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
ch=getchar();
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);
ch=getchar();
}
putchar(10);
fclose(fp);
return 0;
}
[解决办法]
while(ch!='#') 

fputc(ch,fp); 
putchar(ch); 


循环中 没有改变 ch 的值 造成死循环~

热点排行