gpt4 book ai didi

c - *++argv[1] 在 C 中是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 16:58:01 24 4
gpt4 key购买 nike

如果从命令行执行,下面给出的程序 (myprog.c) 的输出是什么?

cmd> myprog friday tuesday sunday

/* myprog.c */
#include<stdio.h>

int main(int argc, char *argv[])
{ printf("%c", *++argv[1]); return 0; }

我知道 argv[1] 是星期五,++argv[1] 是星期二。我可能错了。无论哪种方式,我似乎都不明白整个表达式的含义。

最佳答案

正在关注 operator precedence rules , 表达式等同于 *(++(argv[1]))。换句话说,首先评估 argv[1],它引用字符串 "friday"。接下来,++ 前缀增量更改对字符串 "riday" 的引用。最后,* 解引用返回字符 'r'

关于c - *++argv[1] 在 C 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25205652/

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