小编Rhy*_*uck的帖子

指针算术中的一元递增运算符

这是我的第一篇文章.

我有这个函数来反转我找到的C中的字符串.

    void reverse(char* c) {
        if (*c != 0) {
            reverse(c + 1);
        }
        printf("%c",*c);
    }
Run Code Online (Sandbox Code Playgroud)

它工作正常,但如果我更换:

reverse(c + 1);
Run Code Online (Sandbox Code Playgroud)

有:

reverse(++c);
Run Code Online (Sandbox Code Playgroud)

原始字符串的第一个字符被截断.我的问题是为什么这些陈述在这种情况下不相同?

谢谢

c pointers increment operator-keyword

2
推荐指数
1
解决办法
658
查看次数

标签 统计

c ×1

increment ×1

operator-keyword ×1

pointers ×1