aldol_reaction 2020-11-02 20:11 采纳率: 0%
浏览 221

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

我的输入:

7

0 1 4 5 3 2 6

经过尝试,发现调试的时候我不在查看列表添加任何查看变量,输出结果正确(0 1 2 3 4 5 6)

添加了查看变量,输出的结果像是随机的,每次重新打开文件调试输出结果都不一样

而且我想查看数组变量元素,添加了查看变量:*(&a[0])@10和*(&t[0])@10

后来发现调试的时候什么查看变量都不添加,调试输出结果才正确

好郁闷啊,这是为什么?

#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;
}

 

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-20 19:25
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥15 pyqt信号槽连接写法
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急