关于函数的问题,求指错
问题:输入10个数,输出其中最大的数和这个数在第几个;(不用函数做很好做,由于刚学函数想用函数做做,然后就有个错误,找不到)
思路:设定三个函数put()(就是输入10个数的函数)
max()(让10个数挨个比较,把大的赋给m,到最后最大的作为函数值)
fin()(是计算位数,就是一个for循环,一个判断)
给出的错误:
error C2102: '&' requires l-value
Cpp1.cpp(35) : error C2109: subscript requires array or pointer type
执行 cl.exe 时出错.
代码如下:
#include <stdio.h>
void main()
{
int a[10];
int m,i;
m=a[0];
void put(void);
int max(void);
int fin(void);
printf("最大的数是:%d",max());
printf("它是第%d位数",fin());
printf("\n");
}
int max(void)
{
for(i=0,a;i<=9;)
{m=(m>=a[i])?m:a[i];}
return(m);
}
void put()
{
for(i=0;i<=9;i++)
{
scanf("%d",&a[i]);
}
}
int fin(void)
{
for(i=0;i<=9;i++)
{
if(max()==a[i])
{
return(i+1);
}
}
}