我有这个代码来获取表单的字符串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,如果是的话?如果没有,如何摆脱警告?
请注意,在我看来,这个问题处理了一个不同的问题。