老牛来学习 发表于 2020-2-3 11:05:34

c语言自增,自减

#include<stdio.h>

int main()
{
        int i = 7;
        printf("%d\n,++i");        //这个先加一输出8。
        printf("%d\n,--i");        //这个先减一输出7。
        printf("%d\n,i++");        //这个输出7后加一。
        printf("%d\n,i--");        //这个输出8后减一。
        printf("%d\n,-i++");        //这个输出-7后加一等于-6。
        printf("%d\n,-i--");        //这个输出6后减一,但是书上说这个应该是输出-8后减一是什么意思,谁是对的。
}

chxchxkkk 发表于 2020-2-3 12:34:30

程序跑一下,输出的是啥,就知道谁是对的

zltzlt 发表于 2020-2-3 12:35:41

printf("%d\n,-i++");

这一步只是将 i 加 1,-i++ 并不会让 i 变为负数。所以执行完这一步之后 i 为 8,输出的是 -7。

printf("%d\n,-i--");

这一步输出的是 -8,执行完这一步后 i 是 -7。

Aseeker 发表于 2020-2-3 16:10:34

本帖最后由 Aseeker 于 2020-2-3 16:11 编辑

zltzlt 发表于 2020-2-3 12:35
这一步只是将 i 加 1,-i++ 并不会让 i 变为负数。所以执行完这一步之后 i 为 8,输出的是 -7。




printf("%d\n,-i--");
不是输出-7, 然后i=6吗

zltzlt 发表于 2020-2-3 16:11:53

Aseeker 发表于 2020-2-3 16:10
不是输出-7, 然后i=6吗

之前 i 为 7,执行完 i++ 后 i 变成 8
页: [1]
查看完整版本: c语言自增,自减