У меня есть этот код, чтобы взять строку формы bla_2
и отделить его:операция на «Я» может быть определено
void separate(char* str, char* word, int* n) {
int i = 0;
while(str[i] != '_') {
word[i] = str[i++];
}
*n = str[++i] - '0';
}
я получил:
warning: operation on ‘i’ may be undefined [-Wsequence-point]
Но я только меняется i
через ++
оператор, я ничего не приписываю.
Итак, почему UB, если это так? Если нет, как избавиться от предупреждения?
Обратите внимание, что на мой взгляд, вопрос this обрабатывает другую проблему.
@ Rizier123: это ничего не изменит в отношении точек последовательности. –