加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

比较字符串C的长度

发布时间:2020-12-16 10:22:32 所属栏目:百科 来源:网络整理
导读:我在比较C中的字符串时遇到了麻烦.首先,我需要从命令行参数中找到每个字符串的长度,然后比较它们以及打印最大的字符串. 到目前为止,它只是打印每个类型字符串的长度.我需要根据长度而不是字母顺序来比较它们. 我不明白为什么它现在正在工作,我该怎么办呢?谢
我在比较C中的字符串时遇到了麻烦.首先,我需要从命令行参数中找到每个字符串的长度,然后比较它们以及打印最大的字符串.

到目前为止,它只是打印每个类型字符串的长度.我需要根据长度而不是字母顺序来比较它们.

我不明白为什么它现在正在工作,我该怎么办呢?谢谢!

#include <stdio.h>
#include <string.h>

int main(int argc,char *argv[])
{
    int i,length;

    for(i = 0; i<argc; i++)
    {
        length = strlen(argv[i]);
        printf("%s %dn",argv[i],length);

        if(strlen(argv[i]) < strlen(argv[i+1]))
        {
            printf("%s is the biggest n",argv[i+1]);
        }
        else
        {
            printf("%s is the biggest n",argv[i]);
        }
    }
    return 0;
}

解决方法

#include <stdio.h>
#include <string.h>

int main(int argc,char *argv[])
{
   int i,max_length,max_index;

   max_index = 0;
   max_length = strlen(argv[0]);

   for(i = 1; i < argc; i++)
   {
        if(strlen(argv[i]) > max_length)
        {   
            max_length = strlen(argv[i]);
            max_index = i;
        }
    }

   printf("The longest is: %s with length equal: %dn",argv[max_index],max_length);

   return 0;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读