gpt4 book ai didi

c - 数组:越界计算

转载 作者:行者123 更新时间:2023-11-30 20:14:07 25 4
gpt4 key购买 nike

该程序在带有 GCC v4.8.1 的 CodeBlocks v13.12 上运行时给出输出:2, 0。有人可以解释一下原因或方法吗?

#include <stdio.h>

int main ( )
{
int function [ 2 ] [ 3 ] = { { 1, 2, 3 }, { 4 } }, i = 1, j = 1;
function [ i + 1 ] [ j ] = function [ j ] [ i + 1 ]; // Assignment Statement
printf ( "%d, %d", function [ i ] [ j ], function [ j ] [ i + 1 ] );

return 0;
}

我还注意到,在赋值语句中,表达式的LHS总是分配给变量i。因此,例如,如果语句更改为:

function [ i + 1 ] [ j ] = 100;    // Assignment Statement

i 的值为 100

最佳答案

function [ i + 1 ] [ j ]

越界访问数组将导致未定义的行为。

函数 [ 2 ] 是数组越界访问。

关于c - 数组:越界计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27837555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com