华为笔试找错题

huhaihong 2007-11-10 07:19:35
#define GET_MIN(a,b) ((a)>(b))?(b):(a)

void getMin(int a[],int **p)
{
static int iMin=0;
int i;
for(i=0;i<10;i++)
{
iMin=GET_MIN(iMin,a[i]);
}
*p=&iMin;
}
大家觉得程序哪些地方有错?
...全文
314 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiahuafu 2008-03-21
  • 打赏
  • 举报
回复
void getMin(int a[],int **p)

a[]会退化为指针,因此如何确定数组的个数是个问题
tjltail 2007-11-11
  • 打赏
  • 举报
回复
sizeof(a)/sizeof(a[0])
也不能够得到它的长度
不好意思
说错了
但是strlen肯定是错了的
tjltail 2007-11-11
  • 打赏
  • 举报
回复
strlen(a)

是不是有问题
大小可以这样求吧

sizeof(a)/sizeof(a[0])
tjltail 2007-11-11
  • 打赏
  • 举报
回复
#define   GET_MIN(a,b)   ((a)> (b))?(b):(a) 

void getMin(int a[],int **p)
{
static int iMin=0;
int i;
for(i=0;i <10;i++)
{
iMin=GET_MIN(iMin,a[i]);
}
*p=&iMin;
}


假如所有的值都比0或者第二次计较的数都比第一次最小的大
能够得到最小值吗?
spirit_wolf 2007-11-11
  • 打赏
  • 举报
回复
错了
是for(i=1;i <len ;i++)
spirit_wolf 2007-11-11
  • 打赏
  • 举报
回复
楼上说 的对,数组做为参数时已经退化为指针了
可以从1开始循环!
for(i=1;i <10;i++)
jiajihe 2007-11-11
  • 打赏
  • 举报
回复
#define GET_MIN(a,b) ((a)> (b))?(b):(a)

void getMin(int a[],int **p)
{
static int iMin=0;
int i;
for(i=0;i <10;i++)
{
iMin=GET_MIN(iMin,a[i]);
}
*p=&iMin;
}
我觉得:
#define GET_MIN(a,b) ((a)> (b))?(b):(a) 应改为#define GET_MIN(a,b) (((a)> (b))?(b):(a))
当然不该也没有错.
for循环的次数应该求出来:但sizeof(a)/sizeof(a[0]) 是个错误求法;
因为当数组作为形参时,数组名就变成了指针了.这时不如用while语句来做循环

iMin=GET_MIN(iMin,a[i]);参数的传递上也有问题,应该是a[i]和a[i+1]


本人也是初学C语言,请拍砖!
shunwent 2007-11-11
  • 打赏
  • 举报
回复
楼主 看来是你打错题目了
昨天 我也有考华为的试卷
正确的答案应该是(我指的是原题目)
宏定义中 出现了括号的不匹配
以及 void getMin(int a[],int **p) 中卷子里面的void 中的V是大写的

这些错误都很猥琐 如果你有原题目的话 可以看看
rosky 2007-11-11
  • 打赏
  • 举报
回复
a[]有多少个元素知道吗 ?
内存泄漏
dandy7788 2007-11-10
  • 打赏
  • 举报
回复
这个不是有人发过了么?
spirit_wolf 2007-11-10
  • 打赏
  • 举报
回复

void getMin(int a[],int **p)
{
int iMin=a[0];
int i;
int len = strlen(a);
for(i=0;i <len;i++)
{
iMin=GET_MIN(iMin,a[i]);
}
*p=&iMin;
}
forever1314 2007-11-10
  • 打赏
  • 举报
回复
a[]有多少个元素不确定,不能就写成10;
传的是静态变量的地址,虽然函数返回后不会被释放,但如果下次调用的时候,就会改变上次的值;

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧