C 增量运算符未显示预期结果
我没有得到我期望的结果C 增量运算符未显示预期结果,c,increment,C,Increment,我没有得到我期望的结果 void main(){ int x = 5; int y = x++; printf("%d, %d", x, y); } 我得到了6,5作为输出,但我希望6,6您使用的是增量后操作符 y = ++x: 该行: int y = x++; 相当于: int y = x; x += 1; int y; x += 1; y = x; x的增量发生在将x的值复制到y之后 pre increment运算符可能就是您要查找的运算符,其用法如下: i
void main(){
int x = 5;
int y = x++;
printf("%d, %d", x, y);
}
我得到了
6,5
作为输出,但我希望6,6
您使用的是增量后操作符
y = ++x:
该行:
int y = x++;
相当于:
int y = x;
x += 1;
int y;
x += 1;
y = x;
x
的增量发生在将x
的值复制到y
之后
pre increment运算符可能就是您要查找的运算符,其用法如下:
int y = ++x;
这相当于:
int y = x;
x += 1;
int y;
x += 1;
y = x;
这似乎是您所期望的。运算符的行为因其所在位置而异
y=x++代码>将获得x的值,然后将其递增。(增额后)
y=++x代码>将首先递增x,然后将该新值赋予y。(增薪前)
您可能正在查找预增量。您正在使用后增量运算符。它的计算结果为递增之前的变量的值,这就是为什么y
包含5
对于您的情况,您需要preincrement操作符
y = ++x:
您已使用增量后运算符(即x++
)并将其分配给y
,因此y
将为6,x
将为5
对于预期的输出,请使用pre-increment运算符,如下所示:
int main() {
int x = 5;
int y = ++x;
printf("%d, %d", x, y);
}
但是6,5
是预期的结果…欢迎来到StackOverflow!如果下面的答案回答了您的问题,请记住将其标记为“已接受”。祝你的代码好运!