c - 不同的输出

标签 c post-increment

为什么第一个代码给出与第二个代码不同的输出,即使它们打算做同样的事情?

while(s[i++]==t[j++]);

while(s[i]==t[j])
        {
            i++;
            j++;
        }

最佳答案

即使 s[i] != t[j],第一段代码也会增加 ij,而第二段则不会.

例如:

char s[] = "hello";
char t[] = "world";
int i = 0, j = 0;

循环后第一个代码的 ij 都等于 1,但第二个代码的 i j 等于 0

关于c - 不同的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25198371/

相关文章:

Python 在函数调用中添加增量变量

java - 为什么两种技术中的相同代码表现不同

JavaScript 操作顺序 - 括号不会在后递增运算符之前求值

c++ - 先前声明的变量和常量的智能感知

c - printf() 的 %d 正在输出大整数。

c - C 中仍可访问内存

c - 如何在 SDL2 中渲染文本?

c - 为什么即使我注释了标题并使用了它的功能,我也没有收到错误消息?

c - 为什么需要左值作为增量操作数?

c - C 中的数组递增运算符