请教C的一个问题
题目是:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个“#”为止。
我输入的程序为:
# include<stdio.h>
main()
{
FILE *fp;
char ch,filename[10];
scanf("%s",filename);
if (fp=fopen(filename,"w") == NULL)
{printf("cannnot open file \n");
exit(0);
}
ch=getchar();
while(ch != '#')
{
fputc(ch,fp);
putchar(ch);
ch=getchar();
}
fclose(fp);
}
看上去没有错吧,但是运行的时候就总是出问题。在输入完了文件名后,回车就报错,说什么
expression: str!=NULL
for information on how your program can cause an assertion failure , see the Vc++ documentation on asserts.
请教各位高手啊,这是怎么回事呀!