aldol_reaction 2020-11-02 19:55 采纳率: 0%
浏览 27

各位大侠,请问为什么调试和输出结果不一样?

我在devC++5.11调试的时候添加了:*(&a[0])@10,*(&a[0])@10来查看数组的元素,但是调试的时候最后输出是0 0 0 0 0 0 0

而正常运行是很正常的归并排序结果:0 1 2 3 4 5 6

我把这两个查看去除,调试输出和正常运行一样

求救!!

#include <cstdio>
#include <cstring>
#include <string>
int t[100005];
int a[100005];
int n;
void mergeSort(int l, int r) {      //* 把[l,r]排序
	if(l == r) return;
	int mid = (l+r)/2;
	mergeSort(l, mid);              // 排序 a[l, mid]
	mergeSort(mid+1, r);            // 排序 a[mid+1, r]
	int p=l, q=mid+1, i=l;          // 合并到 t[l,r]
	while(p<=mid && q<=r) {         // 两个队伍都可以取
		if(a[p] < a[q])
			t[i++] = a[p++];
		else
			t[i++] = a[q++];
	}
	while(p <= mid) t[i++] = a[p++];// 左边队伍没有取完
	while(q <= r) t[i++] = a[q++];  // 右边队伍没有取完
	for(int i=l; i<=r; i++) a[i] = t[i];
}

void inp() {
	scanf("%d", &n);
	for(int i=1; i<=n; i++) scanf("%d", &a[i]);
}

int main(void) {
	inp();
	mergeSort(1, n);
	for(int i=1; i<=n; i++) printf("%d ",a[i]);
	puts("");
	return 0;
}

 

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?
    • ¥15 c++头文件不能识别CDialog
    • ¥15 Excel发现不可读取的内容