我在执行代码时遇到以下错误。我想念什么?
警告:传递“ 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;
}
答案 0 :(得分:0)
Ary [15]为您提供数组的最后一个int,您应该尝试传递数组本身:Array(Ary,x1)和Max(Ary,x1)。
顺便说一句,这只是一个警告。虽然很大,但是您的程序肯定会在某个时刻崩溃。