C语言while(gets(line)!=NULL)无法持续输入的问题


#include<stdio.h>
#include<string.h>
#define MAX 20
int main()
{
    char arr_1[MAX], arr_2[MAX]="",*in_line=arr_1,*longest =arr_2,*tmp;
    int max_len=0,len,ch;
    while(gets(in_line)!=NULL){
        len=strlen(in_line);
        if(len>max_len){
            max_len=len;
            tmp=in_line,in_line=longest;
            longest=tmp;
            
        }
        
        
        
    }
    printf("%d:%s\n",max_len,*longest);
    
    
    
}

这个函数没办法输出是哪里的问题啊

img

在window系统中,通过键盘输入时,按Ctrl+Z组合键后再按回车键,就代表输入结束。

在UNIX/Linux/Mac OS系统中,Ctrl+D代表输入结束。