第 七 感 2022-06-18 14:05 采纳率: 50%
浏览 473
已结题

while(gets(a[n])!=NULL这个是什么意思,怎么结束循环的(语言-c语言)

while(gets(a[n])!=NULL这个是什么意思,怎么结束循环的

#inclued<stdio.h>
int main()
{  
    char a[10][300]={0},*p;
    int n=0;
    while(gets(a[n])!=NULL){
        n++;
    }
    p=find_max_string(a,n);
    puts(p);
    return 0;
 } 
  • 写回答

2条回答 默认 最新

  • qzjhjxj 2022-06-20 12:14
    关注

    while(gets(a[n])!=NULL){ n++; } 从键盘循环接收字符串,保存在a[n]为首地址的字符串内存空间,以回车做为结束符,读入成功,返回与参数 a[n] 相同的指针,同时n++; 为读入下一字符串做准备。读入过程中遇到EOF(文件结尾)或发生错误 返回 NULL指针,所以这里就以判断gets() 返回值为NULL时,认为输入结束,跳出 while() 循环,进入程序的下一代码执行。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 9月28日
  • 已采纳回答 9月21日
  • 创建了问题 6月18日