#include<stdio.h>
main( )
{ int num[ ] = {24, 34, 12, 44, 56, 17};
dislpay(&num[0],6);
}
display ( int *j, int n )
{
int i ;
for ( i = 0 ; i <= n - 1 ; i++ )
{
printf ( "\nelement = %d", *j ) ;
j++ ; /* increment pointer to point to next element */
}
}
语言是c,windows vista使用visual c ++ 2005 express。
答案 0 :(得分:2)
正确的代码应该是:
#include<stdio.h>
void display(int*, int); //declaration of your function
int main( ) //return type of main should be int
{
int num[ ] = {24, 34, 12, 44, 56, 17};
display(&num[0],6); //Correct the spelling mistake
}
void display ( int *j, int n ) //specify a return type
{
int i ;
for ( i = 0 ; i <= n - 1 ; i++ )
{
printf ( "\nelement = %d", j[i] ) ;
}
}
答案 1 :(得分:0)
错字第4行,显示 - &gt;显示?
答案 2 :(得分:0)
除了错字之外,你得到错误的原因是在C中,你不能在声明之前引用变量或函数。因此,您可以通过将显示功能移动到main之前来修复代码,或者像Prasoon那样,在main之上添加一个声明。
从技术上讲,你可以省略返回类型,因为C假定为int(至少ANSI C89会这样做),但这不是一个好主意。最好总是指定返回类型以提高可读性并避免棘手的类型不匹配错误(特别是因为C会进行大量的隐式转换)。