主题:请教下关于循环下putchar的输出。
#include <stdio.h>
void main()
{
FILE *fp;
char ch,filename[10];
scanf("%s",filename);
// printf("%s\n",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
ch=getchar();
printf("%d",ch);
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);
putchar(ch);
ch=getchar();
}
putchar(10);
fclose(fp);
}
输入输出如下:
file1.c
computer and c#
computer and c
但是getchar应该为一次输入一个字符,putchar应该为一次输出一个字符。
请教下为什么不是输入一个字母c然后输出一个c...即
ccoommppuutteerr ...?
void main()
{
FILE *fp;
char ch,filename[10];
scanf("%s",filename);
// printf("%s\n",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
ch=getchar();
printf("%d",ch);
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);
putchar(ch);
ch=getchar();
}
putchar(10);
fclose(fp);
}
输入输出如下:
file1.c
computer and c#
computer and c
但是getchar应该为一次输入一个字符,putchar应该为一次输出一个字符。
请教下为什么不是输入一个字母c然后输出一个c...即
ccoommppuutteerr ...?