我有个代码 打算输入ctrl+z 就是 EOF 结束的,但是运行时必须输入两个EOF才结束 ,在下实在找不出错误
#include <stdio.h>#include <string.h>
int main()
{
int i,a,b,c,j,n=0,m=1;
char max[1010],min[1010];
//freopen("in.txt","r",stdin);
char k[1010],t[1010];
while(scanf("%s",k)!=EOF)
{
for(i=0,j=0; k[i]!='\n'; i++)
{
if(k[i]!='0'&&j==0)
t[j++]=k[i];
else if(j!=0)
t[j++]=k[i];
}
if(t[0]==NULL)
{n++;t[0]='0';}
if(m==1)
{
strcpy(max,t);
strcpy(min,t);
m=0;
}
else
{
a=strlen(max);
b=strlen(min);
c=strlen(t);
if(c>a||a==c&&strcmp(max,t)<0) strcpy(max,t);
else if(a==b&&b>c||a>b&&b>c||a>b&&b==c||a==b&&a==c&&strcmp(max,t)>0&&strcmp(t,min)<0) strcpy(min,t);
}
char k[1010],t[1010];
}
if(n!=0)
printf("The maximum value is : %s\nThe minimum value is : 0\n",max);
else
printf("The maximum value is : %s\nThe minimum value is : %s\n",max,min);
}