请教一个问题,为什么不能退出
程序如下:#include "stdio.h"
#define MAX 1000
void copy(char t[],char s[]);
int getline(char s[],int max);
main()
{
int len=0;
int max=0;
char s[MAX];
char t[MAX];
while((len=getline(s,MAX))>0)
if(len>max){
max=len;
copy(t,s);
}
if(max>0)
printf("%s",t);
return 0;
}
int getline(char s[],int max)
{
int c,i;
for(i=0;i<MAX-1&&(c=getchar())!=EOF&&c!='\n';i++)
s[i]=c;
if(c=='\n'){
s[i]=c;
i++;}
/*i++;*/
s[i]='\0';
return i;
}
void copy(char t[],char s[])
{
int i=0;
while((t[i]=s[i])!='\0')
i++;
}
如果我把红色部分注释掉,蓝色的地方去掉注释,就不能退出程序了。。照理说,我输入完毕回车后,就接着执行下面的i++..等然后返回i。。但为什么注释掉“回车”那段之后,就不行了?for循环条件中有c!='\n'啊。
高手们请回答一下。。
唉,发现学C,怎么都入不了门一样。。。咋这么难呢。。。