| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 747 人关注过本帖
标题:请教 我调用这个数组那里出错了,谢谢
只看楼主 加入收藏
evampire
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-10-17
收藏
 问题点数:0 回复次数:8 
请教 我调用这个数组那里出错了,谢谢
#include<stdio.h>
#include<stdlib.h>
int big(int x[],int y);
main()
{ int i,max,a[6];
printf("Please input  number\n");  
 for(i=0;i<6;i++)
   scanf("%d",&a[i]);
  for(i=0;i<6;i++)
  printf("%d",a[i]);
max=big(a[i],6);
 printf("The big number is %d",max);
}
 int big(int x[],int y)
{ int b,l;
    b=x[0] ;
      for(l=1;l<y;l++)
   {if(b<x[l]) b=x[l];}
            return b;
}
搜索更多相关主题的帖子: max include number 
2008-10-17 15:11
hellson
Rank: 2
来 自:北京
等 级:新手上路
威 望:4
帖 子:195
专家分:0
注 册:2008-9-1
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<stdlib.h>
int big(int x[],int y); 
main()
{ int i,max,a[6];
printf("Please input  number\n");  
for(i=0;i<6;i++)
   scanf("%d",&a[i]);
  for(i=0;i<6;i++)
  printf("%d",a[i]);
max=big(a,6);
printf("The big number is %d",max);
getch();
}
int big(int x[],int y)
{ int b,l;
    b=x[0] ; 
      for(l=1;l<y;l++)
   {if(b<x[l]) b=x[l];}
            return b;
}

春了夏了秋冬了,来了来了又来了
相信我的帖子打开都很快,看我头像就知道了
2008-10-17 15:14
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
收藏
得分:0 
max=big(a[i],6);
i值这时是多少?
单步调试观察变量变化找问题.
2008-10-17 15:37
wkl000
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-10-17
收藏
得分:0 
GDGSD
max=big(a[i],6);
若以数组为函数参数,则只能以数组名为参数,则在函数调用的时候,传递的是数组的首地址。
你上边写代码其中的i是个变量,而且a【i】是个常量,而不是变量。
在谭浩强所编的c里边有详细的解说。
2008-10-17 16:22
wkl000
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-10-17
收藏
得分:0 
另外补充一下,就是若以a[i]为函数参数,则相当于在函数调用的时候只传递了变量的具体内容,相当于下边的用法:
max=big(a,b);
函数返回时是不会改变原来数组的内容的
2008-10-17 16:26
悠闲的紫
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2008-10-13
收藏
得分:0 
for(i=0;i<6;i++)
   scanf("%d",&a[i]);
  for(i=0;i<6;i++)
  printf("%d",a[i]);
max=big(a[i],6);

上边定义了int i,max,a[6];
for循环怎么用的啊,没括号它是怎么循环两个for的?
for(i=0;i<6;i++)
   scanf("%d",&a[i]);
执行过后i是多少啊?
是否影响下面一行的:
for(i=0;i<6;i++)
  printf("%d",a[i]);
请大大们说明下下,...

把知识都和我说
2008-10-17 20:02
dandanmei
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-11-30
收藏
得分:0 
for循环体如果只执行一句的话是不用加大括号的
还有当第一个for以后i的值是6
因为你下一个for循环把i又置0了(i=0)所以是不会影响下一个行的
2008-10-17 20:24
dandanmei
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-11-30
收藏
得分:0 
那个程序的大问题就是那个调用函数时给的参数不对
函数的形参是一个数组  而主函数给的实参是个数值
2008-10-17 20:26
onlygxj
Rank: 1
来 自:广西大学
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-10-18
收藏
得分:0 
for(l=1;l<y;l++)
   {if(b<x[l]) b=x[l];}
如果y比数组元素个数大的话,则x[l]越界。
2008-10-18 01:31
快速回复:请教 我调用这个数组那里出错了,谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033629 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved