A.S*_*Sim 4 c arrays multidimensional-array
我正在研究C,遇到了下面的代码。所有printf呼叫的打印结果始终相同。
什么[x,y]意思 内存地址还是其他?
printf("%d ", array[0,0]);
printf("%d ", array[1,0]);
printf("%d ", array[2,0]);
Run Code Online (Sandbox Code Playgroud)
小智 7
这是一个“逗号运算符”。在C语言中,逗号运算符会评估每个参数,但会返回最右边的参数。因此array[0,1]与array[1]和array[0,1,2]相同array[2]。在你的情况array[0,0]),array[1,0],array[2,0]所有的评估array[0]。因此,所有语句打印相同的结果。
另外(来自@chqrlie的注释),尽管它返回最右边的参数,但是所有表达式都被求值,因此将执行任何副作用:printf("%d ", array[exit(1),0]);将不会打印任何内容。