c - v[i++] 在 C 中未定义吗?

标签 c

我正在尝试编写一个通过 char* a[] 检查 a 的函数,并且通常最终使用类似

的东西
if(a[i] == 'x'){
    i++;
    //...
}

现在我真的很想把它改为a[i++],但它似乎不起作用。

问题:

我是不是做错了什么,或者是否有一个干净的替代方法来避免 i++

注意:目前函数中的 13 行中有 3 行是 i++,这使得它看起来比实际大得多。

最佳答案

if (a[i++] == 'x') 本身在 C 中很好。但是,它在语义上有所不同:您的原始代码仅递增 i如果条件为真,而 if (a[i++] == 'x') 总是递增 i

关于c - v[i++] 在 C 中未定义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32798643/

相关文章:

c - 尝试将字符串转换为整数数组的艰难时期

mysql - 无法检测 where 子句中的整数值

c - 如何在C中将字符串初始化为链表结构

c - C ncurses 应用程序中的希伯来语支持

c - 请解释位域 1 的输出

objective-c - 相对于动画将 CGPoints 从一个 View 转换为另一个 View

C文件操作题

c - 如何使用 time.h 库创建计时器?

c - Gnuplot : Hide the window

c - 为什么 printf 在调用后不会刷新,除非格式字符串中有换行符?