gpt4 book ai didi

c - 三元 C 运算符如何解释空的第一个分支?为什么?

转载 作者:太空狗 更新时间:2023-10-29 15:28:38 26 4
gpt4 key购买 nike

<分区>

这似乎使用 gcc -Wall (4.9.2) 编译和运行时没有警告

#include <stdio.h>
int main(int argc, char **argv){
printf("%d\n", argc-1?:42);
return 0;
}

如果我运行它

  • 使用 0 个参数(使 argc-1 评估为 false),它打印 42
  • 使用 n>=1 个参数(使 argc-1 评估为 true),它打印 n-1。

如果我假设 x?:y 在这种情况下等同于 x?x:y,我是否正确?这是标准的、预期的行为,还是只是 GCC 的怪癖?

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