Я пытаюсь понять, как работает возвращаемое значение функции, с помощью следующей программы, которая была мне дана,
Это выглядит так:
- Записьфункция, которая задает массив символа v и его dim, возвращает заглавную букву, за которой чаще всего следует следующая буква в алфавитном порядке.
И пример выглядит так: если у меня есть строка "BTMNMPSTMN", функция вернет M (потому что два раза сопровождается N).
Я подумал следующеесоздайте функцию:
Я буду считать символ, вставленный в массив, целочисленным, благодаря коду ASCII, поэтому я собираюсь создать функцию int, которая возвращает целое число, но я собираюсь напечатать какобугливается;то, что я надеялся сделать,
И я думаю, что сделал, потому что со строкой BTMNMPSTMN функция печатает M, но, например, со строкой ABDPE функция возвращает P;это не то, что я хотел, потому что должен возвращать 'A'.
Я думаю, что я неправильно понимаю что-то в моем коде или в возвращаемом значении функций.
Код выглядит следующим образом:
#include <stdio.h>
int maxvolte(char a[],int DIM) {
int trovato;
for(int j=0;j<DIM-1;j++) {
if (a[j]- a[j+1]==-1) {
trovato=a[j];
}
}
return trovato;
}
int main()
{
int dim;
scanf("%d",&dim);
char v[dim];
scanf("%s",v);
printf("%c",maxvolte(v,dim));
return 0;
}
PS
Мне не удалось вставить значение массива с помощью в for scanf("%c,&v[i])
или getchar (), потому чтопрограмма останавливается практически сразу из-за интерпретации символа '\ n', поэтому я попытался использовать строки, результат был достигнут, но я хотел бы понять или, по крайней мере, иметь пример того, как правильно хранить массив символов.
Любая помощь или совет будут оценены.