Как определить последний символ строки?
Так вот, проблема заключается в тот что нужно определить последний символ строки (который является "<"), если таков имеется триггернуть остальную часть кода, если нет выдать ошибку. То есть если в конце строки имеется символ < он должен запускать остальную часть кода. Я новичок без понятия как это делается.. Очень глупый вопрос но таково задание..(
Ответы (1 шт):
Ниже привожу код, как можно определить последний символ внутри if, используя strlen, как предлагал @avp.
В коде ниже я предполагаю что указатель s на строку (который должен быть типа char *) уже как то заполнен, как угодно, я для примера его заполнил фиксированной строкой, как char s[100] = "abc<";.
Дополнительная проверка s[0] && обязательная т.к. если строка пустая (0 символов) то s[strlen(s) - 1] выйдет за границы массива, а точнее даже прыгнет далеко в несуществующую память и будет крэш программы. Если у вас указатель на строку может быть ещё нулевой иногда то проверку нужно сделать даже такой s && s[0] &&.
#include <string.h>
#include <stdio.h>
int main() {
char s[100] = "abc<";
if (s[0] && s[strlen(s) - 1] == '<')
printf("Last sym is <\n");
else
printf("Last sym is not <\n");
}