标题:大佬求助,为什么编译死循环了(是一个排序的代码)
只看楼主
奇数层
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2022-8-20
结帖率:66.67%
已结贴  问题点数:20 回复次数:2 
大佬求助,为什么编译死循环了(是一个排序的代码)
int main()
{
    int px[5] = { 5,6,2,4,0};
    int left = 0;
    int right = sizeof(px) / sizeof(px[1]) - 1;
    int right1= sizeof(px) / sizeof(px[1]) - 1;
    while (left != right1)
    {
        
        if (px[left] < px[right])
        {
            int tem;
            tem = px[right];
            px[right] = px[left];
            px[left] = tem;
            right=right-1;
        }
        if (right == left)
        {
            left=left+1;
            right = right1;
        }

    }
    printf("%d%d%d%d%d", px[0], px[1], px[2],px[3],px[4]);
    return 0;
搜索更多相关主题的帖子: 排序 死循环 left sizeof int 
2022-08-20 16:24
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:20 
程序代码:
int main()
{
    int px[5] = {5, 6, 2, 4, 0};
    int left = 0;
    int right = sizeof(px) / sizeof(px[1]) - 1;
    int right1 = right; // sizeof(px) / sizeof(px[1]) - 1;

    while (left != right1)
    {
        if (px[left] < px[right])
        {
            int tem;
            tem = px[right];
            px[right] = px[left];
            px[left] = tem;
            // right = right - 1;
        }
        right--;//
        if (right == left)
        {
            left = left + 1;
            right = right1;
        }
    }
    printf("%d %d %d %d %d", px[0], px[1], px[2], px[3], px[4]);
    return 0;
}
2022-08-20 20:21
奇数层
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2022-8-20
得分:0 
回复 2楼 apull
感谢大佬
2022-08-22 13:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-509834-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.222940 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved