aldol_reaction
2020-11-02 20:11各位大侠,请问为什么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条回答
为你推荐
- C++ Linux网络编程,超简单的例子,就是不知道什么原因,客户端收不到消息
- c语言
- unix
- linux
- c++
- 2个回答
- 请问各位大侠:spring 采用注解方式管理事务 单步调试进入JdkDynamicAopProxy,不能进入被调用的方法中
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
- pcm音频格式转换成ima_adpcm音频,有杂音,望各位大侠帮忙看看。
- c语言
- c++
- 2个回答
- VS2017的python编译结果字符为乱码(空心方块),求大侠怎么解决?
- visual studio
- python
- 乱码
- 图片
- 2个回答
- 各位大侠,运用C++的模板类的模板方法,实现私有的运算符重载怎么实现
- c++
- 1个回答
换一换