这个为什么输出不了啊

标题

寻找最长的行

类别
字符串

时间限制

1S

内存限制

1000Kb

问题描述

寻找若干行文本中最长的一行

输入说明

输入为多个字符串(每个字符串长度不超过100个字符),每个字符串占一行,输入的行为“***end***”时表示输入结束

输出说明

输出其中最长的一行长度后换行再输出最长行的内容,如果最长行不止一个,则输出其中的第一行。

输入样例

abce
abdf dlfd
end

输出样例

9
abdf dlfd
#include
#include
int main()
{
char a[50][100];
int n,b[100]={0};
int i=0,j=0;
while(1)
{
gets(a[i]);
b[i]=strlen(a[i]);
i++;
if(a[i]=="***end***")
break;
}
puts(a[i]);
int max=b[0],k=0;
for(j=0;j<i-2;j++)
{
if(b[j]<b[j+1])
{
max=b[j+1];
k=j+1;
}
}
printf("%d",max);
puts(a[k]);
return 0;

}


if(a[i]=="***end***")
这么写肯定不行
要用 strcmp(a[i], "**end**") == 0