C语言:这段程序中有些步骤我看不懂!谁能给我讲讲!跪谢!

来源:百度知道 编辑:UC知道 时间:2024/06/30 07:12:08
#include<stdio.h>
#include<stdlib.h>
void 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);
ch=getchar();
}
putchar(10);
fclose(fp);
}

ch=getchar();
ch=getchar();
两个这个是干嘛的呢

fputc(ch,fp);putchar(ch);
ch=getchar();这部也不明白 先把字符写到磁盘上去 然后把字符同时在屏幕上显示,以便核对 然后再输入字符赋给ch 这样顺序对吗?我感觉不对呢
功能是从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止

1.
while(ch!='#')
{
fputc(ch,fp);putchar(ch);
ch=getchar();
}
上面两句,可以把输入的字符“保存到文件(磁盘)”、在屏幕上显示,然后输入下一个字符,循环判断,如果不是“#”,就继续“保存和显示”

2.
ch=getchar();
ch=getchar();
这就需要多读一个字符了,不过ch只能得到一个值啊

谭老师的书吧
ch=getchar();
ch=getchar();
第一个用来吸收字符,第二个用来吸收回车(因为你确定时按了回车);

getchar 是拿数字的value用在ASCII变成字母

这段程序有多处错误和问题,程序的目的与不明确

输入任意字符后 再输入回车