【发布时间】:2014-02-11 22:27:20
【问题描述】:
我知道这个有很多解决方案,但是环顾四周后,我没有找到任何涉及指针的解决方案
现在它一直在抛出警告,根本没有输出,我做错了什么?
#include <stdio.h>
int findbig (int a[], int n)
{
int max = a[0];
for (int i = 1; i < n; i++)
{
if (a[i] > max)
{
max = a[i];
}
}
return max;
}
int main (void)
{
int n;
printf("How many numbers? \n");
scanf("%d", &n);
int a[n];
printf("Now enter those %d numbers: \n", n);
for (int i = 1; i < n; i++)
{
scanf("%d", &a[i]);
}
int biggest = findbig (a[n], n);
printf("The biggest number is: %d\n", biggest);
return 0;
}
我的编译器抱怨:
-警告:传递 'findbig' 的参数 1 使指针从整数不进行强制转换 [默认启用]
-注意:预期为“int *”,但参数的类型为“int”
【问题讨论】:
-
for (int i = 1; i < n; i++)-->for (int i = 0; i < n; i++)
标签: c arrays pointers for-loop