c - 为什么这个程序会给出意外的输出?

标签 c increment

int main()
{
    int x = 3, z ;
    z = x / + + x ;
    printf ("x = %dz = %d", x , z );
    return 0;
}

我认为输出将是 x=4 z=0x=4 z=1 。但我得到 x=3 z=1 .

最佳答案

尝试删除 ++(增量运算符)之间的空格。使用 ++x++ x。编译器可能将其解释为 +(+x),即 一元 + 运算符。

关于c - 为什么这个程序会给出意外的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18568877/

相关文章:

php - 更新 MySQL 字段中的 int

c - 关于使用运算符 "or"的小细节

C : non blocking sockets with timeout : how to avoid busy waiting?

c - XML 解析 - 算法

c - 在 visual studio 2005 中强制执行 C 风格注释

c - 指针算术 :++*ptr or *ptr++?

c cgi如何获取表单

php - mysql 基于另一列的 AUTO_INCRMENT

C - 在 C 8051 中递增 18 位

变量的javascript递增名称