Return从指针转换为整数而不进行强制转换[-Wint-conversion]

时间:2018-09-12 09:17:54

标签: pointers integer

  

我在执行代码时遇到以下错误。我想念什么?
      警告:传递“ Max”的参数1会使指针从整数开始而不进行强制转换[-Wint-conversion]       警告:return会从指针产生整数而不进行强制转换[-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;    
}

1 个答案:

答案 0 :(得分:0)

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

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