Sign-up....

错在哪里

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);

}

[162 byte] By [msdn] at [2007-8-14 20:04:48]
# 1 Re: 错在哪里

print_arr(int a[],int n);

改为print_arr(int a[],10);

junguo at 2005-6-16 16:04:34 >
# 2 Re: 错在哪里

main中的print_arr(int a[],int n);改为

print_arr(a,10);

junguo at 2005-6-16 16:05:24 >
# 3 Re: 错在哪里

print_arr(a,9);//调用函数要给予实参

yjm0105 at 2005-6-16 16:06:52 >
# 4 Re: 错在哪里

print_arr(a,10);//调用函数要给予实参

//看错了-_-

yjm0105 at 2005-6-16 16:08:02 >
# 5 Re: 错在哪里

#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); //此处为要传递的实参

}

qfeng_zhao at 2005-6-16 16:08:12 >
# 6 Re: 错在哪里

应该是print_arr(a,10);吧

conquerq at 2005-6-16 16:11:29 >
# 7 Re: 错在哪里

顶一下....

neverthink at 2005-6-16 16:14:17 >
# 8 Re: 错在哪里

print_arr(int a[],10);

foochow at 2005-6-16 16:15:58 >
# 9 Re: 错在哪里

也可以在函数开始之前将n定义为常量

aaano1 at 2005-6-16 16:49:39 >
# 10 Re: 错在哪里

//也可以先

#define N 10;

//然后

print_arr(a,N);

//嘎

hofer_song at 2005-6-16 17:40:39 >
# 11 Re: 错在哪里

汗,改->#define N 10

hofer_song at 2005-6-16 17:41:38 >
# 12 Re: 错在哪里

print_arr(a,10);

----

n要换成实参

mostideal at 2005-6-16 17:50:30 >
# 13 Re: 错在哪里

#define N 10后,提示说明语法错误。这是一道改错题

cia001 at 2005-6-17 15:22:04 >
# 14 Re: 错在哪里

print_arr(int a[],int n)

{ int i;

n=10 //n是传递的,不用再赋值了,否则你就没有必要设置这个形参了!!

jixingzhong at 2005-6-18 18:08:39 >
# 15 Re: 错在哪里

但是你那么写也不会错!!

只是编程时候那样子容易出问题,

要养成良好的习惯哦!

jixingzhong at 2005-6-18 18:09:30 >
# 16 Re: 错在哪里

你犯了严重错误!

1。函数调用和函数定义不分!

2。在C语言中不能对局部数组进行直接赋值初始化,只能对全局数组进行。

caojunliang at 2005-6-18 20:40:46 >
# 17 Re: 错在哪里

还是出错

cia001 at 2005-6-19 14:25:27 >
# 18 Re: 错在哪里

是因为数组长度的一个常量,所以你用变量去引用是错的。

gogdo at 2005-6-20 13:46:35 >
# 19 Re: 错在哪里

我帮你解决了,哈

#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));

}

兄弟,努力啊,这样不行哦

bingbox_1984 at 2005-6-20 16:31:24 >

C/C++

All Classified