How to find the longest string in array of strings in C

2 Answers

0 votes
#include <stdio.h>
#include <string.h>
    
#define ROWS 5
#define COLS 10

int longest_string(char arr[][COLS]) {
    int max = strlen(arr[0]);
    int longest_string_index = 0;
    
    for (int i = 1; i < ROWS; i++) {
        int size = strlen(arr[i]);
        if (size > max) {
            max = size;
            longest_string_index = i;
        }
    }
     
    return longest_string_index;
}
 
int main() {
    char arr[ROWS][COLS] = {"c++", "c#", "python", "java", "php"}; 
     
    printf("%s", arr[longest_string(arr)]);
 
    return 0;
}
 
 
 
 
 
/*
run:
 
python
 
*/

 



answered Mar 5, 2021 by avibootz
0 votes
#include <stdio.h>
#include <string.h>
    
#define COLS 10

int longest_string(char arr[][COLS], int rows) {
    int max = strlen(arr[0]);
    int longest_string_index = 0;
    
    for (int i = 1; i < rows; i++) {
        int size = strlen(arr[i]);
        if (size > max) {
            max = size;
            longest_string_index = i;
        }
    }
     
    return longest_string_index;
}
 
int main() {
    char arr[][COLS] = {"c++", "c#", "python", "java", "php"}; 
     
    printf("%s", arr[longest_string(arr, sizeof(arr)/sizeof(arr[0]))]);
 
    return 0;
}
 
 
 
 
 
/*
run:
 
python
 
*/

 



answered Mar 5, 2021 by avibootz
...