我有一个包含15个不同国家名称的数组,我需要创建一个函数,找到最大的国家名称并返回其索引,如果有多个国家名称的最大长度相等,则只需返回其中一个索引即可(如下所示)。
我承认我对c还很陌生。但是我已经尝试过使用strlen()和strcmp()函数了。我知道我可能在这里遗漏了一些重要的东西,但是任何帮助都会比我现在所做的更好。提前感谢!
以下是我认为可行的方法:
int maxCountry(char countryNames[15][50]){
int i, x = 0, length, length2, returnVal;
char string[50], string2[50];
for(i = 0; i < 15; i++){
string = countryNames[i] ;
length = strlen(string);
string2 = countryNames[x];
length2 = strlen(string2);
if(length < length2){
returnVal = x;
x = i;
}
}
return returnVal;
}
2条答案
按热度按时间nx7onnlm1#
我有麻烦遵循您的代码的逻辑,我认为它做了一些不需要的操作。
下面是我的尝试,有以下明显的变化:
这将打印:
xesrikrc2#
您不需要2个变量,并且您希望与存储的长度(初始化为0)进行比较