VanBoaW 2024-03-19 20:23 采纳率: 0%
浏览 9

VScode在执行非main函数时无法监视main函数里的变量(数组)的问题

写一个简单的冒泡排序的程序,想监视数组的变化情况,发现vscode的监视栏里面在执行main()函数的时候找不到冒泡函数里的变量,执行冒泡函数的时候,看不了main()函数里的数组,怎么解决呢?
代码如下:

void BubberSort(int * p,int lenth)
{
    for(int j=0;j<lenth-1;j++)
    {
        for(int i=0;i<lenth-1-j;i++)
        {
            int mid;
            if (*(p+i)>*(p+i+1)) //p[i]更方便
            {
                mid=*(p+i);
                *(p+i)=*(p+i+1);
                *(p+i+1)=mid;
            }
        }
    }
}
int main()
{
   int arr[10]={4,3,6,9,2,3,20,8,7,5};
   int * pt=arr;//这一个指针我是想用来测试是否可以通过指正监视主函数的数组
   BubberSort(arr,sizeof(arr)/sizeof(arr[0]));
   for(int i=0;i<10;i++)
   {
        cout<<arr[i]<<' ';
   }
}

执行main()函数时:

img


执行BubberSort()函数时:

img

  • 写回答

3条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-03-19 20:23
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    这是因为在调用函数时,参数会被复制到该函数的栈上,而这些复制的参数与原参数是不同的内存地址。这就导致函数内部修改的内容,并不会反映到原来的参数中。 解决办法:
    1. 在主函数中添加“观察变量”,在调用冒泡函数时,将数组的地址作为参数传递到观察变量中,然后在观察变量中对数组进行监视。 例如: void watch_array(int* arr, int size) { for (int i = 0; i < size; i++) { std::cout << arr[i] << " "; } std::cout << std::endl; } int main() { int arr[10] = {4,3,6,9,2,3,20,8,7,5}; BubberSort(arr, sizeof(arr)/sizeof(arr[0])); watch_array(arr, sizeof(arr)/sizeof(arr[0])); return 0; }
    2. 将数组作为全局变量,这样两个函数可以直接访问同一块内存。 例如: int arr[10] = {4,3,6,9,2,3,20,8,7,5}; void BubberSort(int* p, int length) { for (int j = 0; j < length-1; j++) { for (int i = 0; i < length-1-j; i++) { int mid; if (*(p+i) > *(p+i+1)) { mid = *(p+i); *(p+i) = *(p+i+1); *(p+i+1) = mid; } } } } int main() { BubberSort(arr, sizeof(arr)/sizeof(arr[0])); for (int i = 0; i < 10; i++) { std::cout << arr[i] << " "; } std::cout << std::endl; return 0; }
    评论

报告相同问题?

问题事件

  • 创建了问题 3月19日

悬赏问题

  • ¥15 如何构建全国统一的物流管理平台?
  • ¥100 ijkplayer使用AndroidStudio/CMake编译,如何支持 rtsp 直播流?
  • ¥20 和学习数据的传参方式,选择正确的传参方式有关
  • ¥15 这是网络安全里面的poem code
  • ¥15 用js遍历数据并对非空元素添加css样式
  • ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)
  • ¥50 python写segy数据出错
  • ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
  • ¥30 3D多模态医疗数据集-视觉问答
  • ¥20 设计一个二极管稳压值检测电路