我很想知道C中多维数组的行为,增加如下:
int x[10][10];
y = x[++i, ++j];
我知道那是错误的方式。我只想知道编译器在这种情况下会做什么,如果程序员在他的代码中这样做会有什么后果。
这是逗号运算符,被误用了。++i, ++j
产生j + 1
的值并且具有2个副作用(修饰i
和j
)。整个事情基本上意味着++i; y = x[++j]
。根据y
的类型,哪个有效或无效。
如果程序员在他的代码中这样做会有什么后果
其他程序员很可能会给他/她凶狠的眼神。