首页 > 解决方案 > Return 从没有强制转换的指针生成整数 [-Wint-conversion]

问题描述

我在执行代码时收到以下错误。我错过了什么?
警告:传递 'Max' 的参数 1 使指针从没有强制转换的整数 [-Wint-conversion] 警告:从没有强制转换的指针中返回整数 [-Wint-conversion]。

//头文件声明

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

//Function Declarations

int Max(int Ar[15],int x);
int Array(int Ar[15],int a);


int main()
{
    int Ary[15],x1,Max1;

  printf("\n \n Enter the Size of Array: ");
  scanf("%d",&x1);

  printf(" Input elements of Array:");  


   //Function Call

   //Array Builder
   Array(Ary[15], x1);

   //Compute Maximum Number of Array
  Max1=Max(Ary[15],x1);

   //Displaying Maximum Number of Array

   printf("\n Maximum Number of Array:");
   printf("%d",Max1);         

   return 0;
 }

//Function-Build Array    

int Array(int Ar[15],int a)
{
 int i,j;
 for(i=0;i<a;i++)
 {
  scanf("%d",&Ar[i]);
 }
 return Ar;
}

//函数-计算数组的最大元素

int Max(int Ar[15],int x)
{
    int i,j,v,Max_n;
    Ar[0]=Max_n;

    for(i=1;i<x;i++)
 {
   if(Ar[i]>Max_n)    
   {
      v=Max_n;
      Max_n=Ar[i];
      Ar[i]=v;

   }
 }
 return Max_n;    
}

标签: pointersinteger

解决方案


Ary[15] 为您提供数组的最后一个 int,您应该尝试传递数组本身:Array(Ary,x1) 和 Max(Ary,x1)。

顺便说一句,这只是一个警告。虽然很大,但您的程序一定会在某个时候崩溃。


推荐阅读