计算机青铜 2022-04-16 11:50 采纳率: 100%
浏览 53
已结题

输入一个一维数组,用指针实现把奇数放前面,偶数放后面

题目是:

img

#include <stdio.h>

int pl(int a[])
{
    int *p,*q,t;
    p=&a[0];
    q=&a[9];
    while(p<q)
    {
        while(*p%2!=0)
        p++;
        while(*q%2==0)
        q--;
        if(p>q)
        break;
        t=*p;
        *p=*q;
        *q=t;
        p++;
        q--;
    }
}

int main()
{
    int a[10],i;
    for(i=0;i<=9;i++)
    {
        scanf("%d",&a[i]);
    }
    pl(a);
    for(i=0;1<=9;i++)
    {
        printf("%d",a[i]);
    }
}

img


发现输出的前十位数是对的,后面的是乱码
请问我的代码哪错了?

  • 写回答

1条回答 默认 最新

  • 刘日政 2022-04-16 14:18
    关注

    for(i=0;1<=9;i++)你这是1,不是i,ok?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月24日
  • 已采纳回答 4月16日
  • 修改了问题 4月16日
  • 创建了问题 4月16日