微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何找出是否使用c中的指针对意甲进行了排序

如何解决如何找出是否使用c中的指针对意甲进行了排序

我有以下语言版本的程序:

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

bool is_sorted ( int *array,int num,int prev,int *index);

int main ()
{
    int N;
    int i;
    int prev;
    int data[100];
    bool flag;


    printf("Enter length:\n");
    scanf("%d",&N);
    printf("Enter %d integers:\n",N);
    for (i =0; i<N; i++)
    {
        scanf("%d",&data[i]);
    }
    printf("Enter prevIoUs number:\n");
    scanf("%d",&prev);


    int *index= NULL;

    flag = is_sorted(data,N,prev,index);

    if ( !flag )
    {
        printf("%d ",*index);
    }
}

bool is_sorted ( int *array,int *index) 
{
    if ( prev > array[0] ) 
    {
        index=prev;
        return false;
    }

    for ( int i=0; i<num; i++)
    {
        if ( array[i] > array[i+1] )
        {
            index = array[i];
            return false;
        }
    }
    return true;
}

is_sorted函数一个整数数组和另一个随机整数作为输入,如果prev

我使用指针来查找哪个是破坏意甲联赛订单的第一个元素,但我对指针的语法有点困惑。

运行它,我得到以下结果:

pointers.c:43:14: warning: assignment to ‘int *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   43 |         index=prev;
      |              ^
pointers.c:51:19: warning: assignment to ‘int *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   51 |             index = array[i];

解决方法

index是一个指向整数的指针。您需要取消引用指针以将其分配给在调用方中指向的变量。

*index = prev;
...
*index = array[i];

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。