gpt4 book ai didi

c - --a vs an--,运算符优先级

转载 作者:太空宇宙 更新时间:2023-11-04 08:01:07 25 4
gpt4 key购买 nike

<分区>

#include <stdio.h>
#include <stdlib.h>

#define TRUE 1
#define FALSE 0

void recursion (int a) {
if (a != 0) {
recursion(--a); //works
recursion(a--); //does not work
printf("%d\n", a);
}
}

int main (int argc, char *argv[]) {
printf("start\n");
recursion(10);
printf("finished\n");
return 0;
}

为什么当我递归 (a--) 时出现段错误,但当我递归 (--a) 时工作​​正常?

我不认为 recursion(a--) 由于未定义的行为而出错,因为只有一个副作用,就是将 a 减 1。这个副作用正是我想要的。谢谢。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com