【发布时间】:2023-01-27 16:23:01
【问题描述】:
在阅读有关 c 预处理器的信息时,我得到了类似 array[x=y,x+1] 的信息。在搜索了很多小时之前和之后,我都没有在 c 中看到过这种语法,但我没有找到任何有用的东西。
#include <stdio.h>
int main() {
int arr[] = {5,10,15};
printf("%d %d %d",arr[0,1]);
return 0;
}
输出:
10 1762365112 1769491896
有人可以详细说明吗?
【问题讨论】:
-
搜索“逗号运算符”。
-
printf("%d %d %d",arr[0,1]);欢迎来到 SO。你没有从你的编译器那里得到一些警告,说你没有足够的参数用于这 3 个格式说明符吗?使用不带任何参数的%d会导致未定义的行为。 -
这样的表达很少是好的代码的标志。
-
@Someprogrammerdude 好代码唱歌。糟糕的代码嘎嘎作响。 :-D
标签: arrays c preprocessor