vc 问题,为什么输出这样的结果?

PickIt57 2021-03-10 05:08:31

代码:

#include"stdio.h"
void main()
{
void sort(int a[5]);
int a[5],i;
printf("Enter five characters!\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("\n");
sort(a);
for(i=0;i<5;i++)
printf("%d\t",a[i]);
}
void sort(int a[5])
{
int k,l,n;
for(l=0;l<4;l++)
{
for(n=l;n<5;n++)
{

if(a[l]>a[n+1])
k=a[l];
a[n]=a[l];
a[l]=k;
}
}
}

结果:

Enter five characters!
12
56
2
45
5

-858993460 -858993460 -858993460 -858993460 -858993460
Press any key to continue
...全文
75 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
源代码大师 2021-05-03
  • 打赏
  • 举报
回复
C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html C和C++算法完整教程:https://blog.csdn.net/it_xiangqiang/category_10768339.html
一颗白面馒头 2021-03-10
  • 打赏
  • 举报
回复
如果你是要用冒泡排序,可以写成
for (l = 0; l < 5; l++)
    {
        for (n = 0; n < 5 - l - 1; n++)
        {
            if (a[n] > a[n + 1])
            {
                k = a[n];
                a[n] = a[n + 1];
                a[n + 1] = k;
            }
        }
    }
一颗白面馒头 2021-03-10
  • 打赏
  • 举报
回复
这是冒泡排序吗?看的我一愣一愣的
forever74 2021-03-10
  • 打赏
  • 举报
回复
a[n+1]下标越界

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧