debugging 如何在visual studio代码中调试时展开数组

6ljaweal  于 2023-03-08  发布在  其他
关注(0)|答案(2)|浏览(168)

这是我的代码,它是一个简单的代码块置换:

void arrange(char c[], int N, int start)
{
    if (start == N)
    {
        print(c, N);
        return;
    }
    for (int i = start; i < N; i++)
    {
        swap(c[start], c[i]);
        arrange(c, N, i + 1);
        swap(c[start], c[i]);
    }
}

int main(int argc, char const *argv[])
{
    char c[] = { 'A','B','C' };
    int N = (sizeof(c) / sizeof(char));
    arrange(c, N, 0);
    return 0;
}

它没有给出我所期望的输出,我想调试这段代码。我想观察输入数组中的字符交换。但是当我调试时,输入数组不能扩展。

qv7cva1a

qv7cva1a1#

如果有一个p指向的数组t,如下所示:

double t[5] = {0,1,2,4.5,2.3};
double *p = t;

如果您重新转换了p,则可以在调试器上对其进行监视,只需在监 windows 口中写入以下内容:

(double[5]) *p
yacmzcpb

yacmzcpb2#

当在arrange()中添加一个喙点时,c数组将显示其地址0x7fffffffdd15,如下所示:

要解决这个问题,您应该查看左下角的“WATCH”部分。
添加 <your_array_name>,<array_length>如下所示:

现在,在监视部分,您应该看到如下所示的数组:

相关问题