错在哪里
print_arr(int a[],int n)
{ int i;
n=10
for(i=0;i<n;i++)
printf("%d",*(a+i));
}
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
print_arr(int a[],int n);
}
print_arr(int a[],int n)
{ int i;
n=10
for(i=0;i<n;i++)
printf("%d",*(a+i));
}
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
print_arr(int a[],int n);
}
print_arr(int a[],int n);
改为print_arr(int a[],10);
main中的print_arr(int a[],int n);改为
print_arr(a,10);
print_arr(a,9);//调用函数要给予实参
print_arr(a,10);//调用函数要给予实参
//看错了-_-
#include <stdio.h> //加头文件
void print_arr(int a[],int n) //如不指明返回类型,默认为int
{ int i;
n=10;//;
for(i=0;i<n;i++)
printf("%d",*(a+i));
}
void main() //同上
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
print_arr(a,10); //此处为要传递的实参
}
应该是print_arr(a,10);吧
顶一下....
print_arr(int a[],10);
也可以在函数开始之前将n定义为常量
//也可以先
#define N 10;
//然后
print_arr(a,N);
//嘎
汗,改->#define N 10
print_arr(a,10);
----
n要换成实参
#define N 10后,提示说明语法错误。这是一道改错题
print_arr(int a[],int n)
{ int i;
n=10 //n是传递的,不用再赋值了,否则你就没有必要设置这个形参了!!
但是你那么写也不会错!!
只是编程时候那样子容易出问题,
要养成良好的习惯哦!
你犯了严重错误!
1。函数调用和函数定义不分!
2。在C语言中不能对局部数组进行直接赋值初始化,只能对全局数组进行。
还是出错
是因为数组长度的一个常量,所以你用变量去引用是错的。
我帮你解决了,哈
#include <stdio.h>
main()
{
int print_arr(int a[ ],int n);
int a[10]={1,2,3,4,5,6,7,8,9,10};
print_arr(a,10);
}
int print_arr(int a[ ],int n)
{
int i;
for(i=0;i<n;i++)
printf("%d,",*(a+i));
}
兄弟,努力啊,这样不行哦