我希望从给定的一组文件名中找到文件名的最大长度,并使用以下代码:
int Max_FnLen=strlen(files[0]->d_name);
for (i=1;i<count-1;i++)
{
if(strlen(files[i]->d_name)>strlen(files[i-1]->d_name))
{
Max_FnLen=strlen(files[i]->d_name);
}
}
但它没有给出所需的输出任何人都可以帮助我
谢谢!
答案 0 :(得分:2)
int Max_FnLen=strlen(files[0]->d_name);
for (i=1;i<count;i++)
{
if(strlen(files[i]->d_name)>Max_FnLen)
{
Max_FnLen=strlen(files[i]->d_name);
}
}
试试这个。
答案 1 :(得分:-1)
在最初设置索引为0的元素作为具有最大长度的元素之后,您应该将每个下一个元素的长度与最大长度的当前值进行比较。
代码可以按以下方式查看
size_t Max_FnLen = strlen( files[0]->d_name );
for ( size_t i = 1; i < count; i++ )
{
size_t FnLen = strlen( file[i]->d_name );
if ( Max_FnLen < FnLen )
{
Max_FnLen = FnLen;
}
}
如果您还需要知道具有最大长度的元素的索引,则可以通过以下方式修改代码
size_t Max_FnLen = strlen( files[0]->d_name );
size_t Max_Index = 0;
for ( size_t i = 1; i < count; i++ )
{
size_t FnLen = strlen( file[i]->d_name );
if ( Max_FnLen < FnLen )
{
Max_FnLen = FnLen;
Max_Index = i;
}
}