错误的多维数组变量在C中增加

时间:2012-02-11 11:21:59

标签: c multidimensional-array comma comma-operator

我有兴趣知道C中多维数组的行为增加如下:

int x[10][10];

y = x[++i, ++j];

我知道这是错误的方式。我只想知道编译器在这种情况下做了什么,如果程序员在他的代码中执行此操作将会产生什么后果。

1 个答案:

答案 0 :(得分:6)

这是逗号运算符,被误用了。 ++i, ++j会产生j + 1的值,并产生2个副作用(修改ij)。整件事基本上就是++i; y = x[++j]。哪个有效或无效,具体取决于y的类型。

  

如果程序员在他的代码中执行此操作将会产生什么后果

嗯,很可能其他程序员会给他/她杀气腾腾的外表。