我在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 %d\n", 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;
}
argv[i+1]
时,只有在i < argc - 1
的情况下才能进行迭代。 - ThiefMaster