这是我的代码,它是一个简单的代码块置换:
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;
}
它没有给出我所期望的输出,我想调试这段代码。我想观察输入数组中的字符交换。但是当我调试时,输入数组不能扩展。
2条答案
按热度按时间qv7cva1a1#
如果有一个
p
指向的数组t
,如下所示:如果您重新转换了
p
,则可以在调试器上对其进行监视,只需在监 windows 口中写入以下内容:yacmzcpb2#
当在
arrange()
中添加一个喙点时,c数组将显示其地址0x7fffffffdd15
,如下所示:要解决这个问题,您应该查看左下角的“WATCH”部分。
添加 <your_array_name>,<array_length>如下所示:
现在,在监视部分,您应该看到如下所示的数组: