求解,为什么第一轮循环结束后,返回的当前的位置不是0,而是1
求解,为什么第一轮循环结束后,返回的当前的位置不是0,而是1#include<stdio.h>
#include<stdlib.h>
#define CNTL_Z '\032'
#define SLEN 81
int main(void)
{
char file[SLEN];
char ch;
FILE *fp;
long count ,last;
puts("Enter the name of the file to be processed:");
scanf("%80s",file);
if((fp=fopen(file,"r"))==NULL)
{
printf("reverse can't open %s\n",file);
exit(EXIT_FAILURE);
}
fseek(fp,0L,SEEK_END);
last=ftell(fp);
for(count=1L;count<=last;count++)
{
fseek(fp,-count,SEEK_END);
ch=getc(fp);
if(ch!=CNTL_Z&&ch!='\r')
putchar(ch);
}
printf("\n");
printf("%d\n",ftell(fp));//为什么这里结果不是0,而是1;
while((ch=getc(fp))!=EOF)
putc(ch,stdout);
putchar('\n');
fclose(fp);
return 0;
}