gpt4 book ai didi

c - "ia"是一个整数数组,printf ("3[ia]:%d\n",3[ia]);为什么它有效?

转载 作者:行者123 更新时间:2023-11-30 19:16:53 25 4
gpt4 key购买 nike

#include <stdio.h> 
int main(int argc, char *argv[]){
int *ia[5]={0,1,2,3,4};

iap=ia;
printf("ia[3]:%d\n",3[ia]);
return 0;

}

为什么这条线在 C 语言中可以工作?

最佳答案

C 指针算术的奇妙世界:

ia[3] 计算为 *(ia + 3),与 *(3 + ia) 相同或3[ia]

您还可以编写1[ia+2],或3[ia-+!ia],甚至2[1+ia, ia +1]...

这些都不应该出现在常规代码中,除非您试图混淆和混淆临时读者/维护者/代码审查者。

关于c - "ia"是一个整数数组,printf ("3[ia]:%d\n",3[ia]);为什么它有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29188935/

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