есть 2 функции, первая для вычисления веса слова, вторая для проверки, какое из слов имеет наибольшее значение и возвращает его адрес, моя проблема в том, что когда я делаю двойной указатель и вставляю в него значения, тогда«вставить» этот указатель на мою функцию, он не может прочитать значения в нем. (не самый лучший английский извините, я старался изо всех сил)
он работает только всякий раз, когда копирует мою функцию в основную функцию и запускает ее с цикломЯ все еще новичок, поэтому постарайтесь объяснить проблему и, пожалуйста, постарайтесь не злиться, если это глупый вопрос!
#include<stdio.h>
#include<string.h>
int calc_weight(char* word);
char* max_weight(char* s[], int n);
int main()
{
char s[5][10];
for (int i = 0; i < 5; i++)
scanf("%s", (s + i));
printf("%s\n",max_weight(s, 5));
return 0;
}
int calc_weight(char* word) //calculates weight of the word
{ //assuming this function gets only small letters a...z
int counter = 0;
for (int i = 0; i < strlen(word); i++)// a=1,b=2...
counter += word[i] - 'a' + 1;
return counter;
}
char* max_weight(char* s[], int n)
{
int maxind = 0;
for (int i = 1; i < n; i++)
if (calc_weight(s + i) > calc_weight(s + maxind))
maxind = i;
return (s+maxind);
}