Есть переменная которая объявлена как const char* str_value
. Нужно получить самое короткое слово в ней. Например, при выводе в цикле printf("%s = ", str_value[i]);
программа завершается, а при сравнении с " "
ругается на char*
. Как это нужно исправить? Завершение даже при printf("%s = ", str_value[1]);
При выводе printf("%d = ", str_value[1])
; выходит число. Это код символа? Почему?
Примерно так должна выглядеть ваша функция:
void findShortestWord(const char* in, char* out)
{
int len = strlen(in);
int beginWord = 0;
int lengthWord = 0;
for (int i = 0; i < len; i++)
{
while ( (in[i] == ' ') && ( in[i] != '\0') ) i++;
int begin = i;
while ( (in[i] != ' ') && (in[i] != '\0') ) i++;
int end = i;
char tmp[256];
for(int j = begin, k=0; j < end; j++, k++)
tmp[k] = in[j];
tmp[end - begin] = '\0';
int currentLen = end - begin;
if (currentLen > lengthWord)
{
lengthWord = currentLen;
beginWord = begin;
}
}
for (int i = beginWord, k = 0; i < beginWord + lengthWord; i++, k++)
out[k] = in[i];
out[lengthWord] = '\0';
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно убрать уголок у textarea так, чтобы осталось свойство resize (оно нужно для выполнения скрипта)