在看谭浩强的C语言的时候,下面的这段代码有点疑问,来这问问各位大佬,希望能够帮我解惑。
关于下面那段标红的代码,如果没有这行代码,输入第二个数据是莫名其妙的回车到下一行了,并且保存文件是带回车的,输出结果如下:
但是加上这行代码的话,输出结果和文件内容就比较正常了:
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
char ch, filename[10];
printf("请输入所用的文件名:");
scanf("%s", filename);
if((fp=fopen(filename, "w"))== NULL){
printf("无法打开此文件\n");
exit (0);
}
ch=getchar(); //如果没这行代码,之前输入文件名时的回车,空格都会保存进文件
printf("请输入一个准备存储到磁盘的字符串(以#结束):");
ch=getchar();
while(ch!='#'){
fputc(ch, fp);
putchar(ch);
ch=getchar();
}
fclose(fp);
putchar(10);
return 0;
}