Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误的多维数组变量在C中增加_C_Multidimensional Array_Comma_Comma Operator - Fatal编程技术网

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

错误的多维数组变量在C中增加,c,multidimensional-array,comma,comma-operator,C,Multidimensional Array,Comma,Comma Operator,我很想知道一个多维数组的行为,用C表示,如下所示: int x[10][10]; y = x[++i, ++j]; 我知道那是错误的方法。我只想知道编译器在这种情况下会做什么,如果程序员在代码中这样做会产生什么后果。这是逗号运算符,被误用了++i,++j产生j+1的值,并有2个副作用(修改i和j)。整个东西基本上就是++i;y=x[++j]。根据y的类型,该选项是否有效 如果程序员在代码中这样做,会有什么后果 嗯,很可能其他程序员会给他/她凶残的表情。ahahahah。第二个问题的答案很好+

我很想知道一个多维数组的行为,用C表示,如下所示:

int x[10][10];

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

我知道那是错误的方法。我只想知道编译器在这种情况下会做什么,如果程序员在代码中这样做会产生什么后果。

这是逗号运算符,被误用了
++i,++j
产生
j+1
的值,并有2个副作用(修改
i
j
)。整个东西基本上就是
++i;y=x[++j]
。根据
y
的类型,该选项是否有效

如果程序员在代码中这样做,会有什么后果


嗯,很可能其他程序员会给他/她凶残的表情。

ahahahah。第二个问题的答案很好+1!! ;)我只是不明白一件事:我在这个例子中消失了+@Kyrol它没有消失。它仍然被执行(您可以在之后检查
i
),但其值被丢弃。在C中,每个表达式都有副作用并产生一个值。恰好在这种情况下,生成的值不依赖于
i
。但副作用是存在的。