Компилятор предупреждает вас, что значение выражения не используется :-)

исал функцию, которая сокращает строку (предложение слов) на требуемую длину. Я не хочу, чтобы отрезок предложения был в середине одного слова. Поэтому я пропускаю n символов до тех пор, пока не достигну пробела и не обрежу там строку предложения. Моя проблема на самом деле не проблема, компиляция моей функции выдает предупреждение «предупреждение: вычисленное значение не используется», см. Строку с комментариями в коде. Функция работает, как ожидалось, хотя. Так что либо я слепой, либо слишком долго сижу в своем проекте, на самом деле я не понимаю этого предупреждения. Кто-нибудь может указать мне недостаток в функции?


char *
str_cut(char *s, size_t len) {
    char *p = NULL;
    int n = 3;

    p = s + len;
    if (p < (s + strlen (s))) {
        /*
         * do not cut string in middle of a word.
         * if cut-point is no space, reducue string until space reached ...
         */
        if (*p != ' ')
            while (*p != ' ')
                *p--;   // TODO: triggers warning: warning: value computed is not used

        /* add space for dots and extra space, terminate string */
        p += n + 1;
        *p = '\0';

        /* append dots */
        while (n-- && (--p > s))
            *p = '.';
    }
    return s;
}

Мой компилятор на машине для разработки - "gcc версии 4.2.4 (Ubuntu 4.2.4-1ubuntu4)"

Ответы на вопрос(3)

Ваш ответ на вопрос