A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ambition 中级黑马   /  2015-5-9 00:11  /  1245 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


#include <stdio.h>
int arryMax (int a[] , int count)
int main ()
{  int ages [] = [10 , 23 , 43 , 45 , 56 ,76 ]
        arryMax ( ages , sizeof(ages)/sizeof(int))
        return 0 ;
}
int arryMax (int a[] , int count )
{
        int temp = a[0];
        for (int i = 0 ; i < count ; i++)
        {
                if (a[i+1] > a[i])
                {
                        temp = a[i+1] ;
                }
        }
       
        return temp ;
}

请问我这个程序哪里错了  老提示 [Error] expected initializer before 'int'

10 个回复

倒序浏览
  1. #include <stdio.h>

  2. int arryMax(int a[], int count); //少了一个分号 ;

  3. int main()
  4. {
  5.     int ages[] = {10, 23, 43, 45, 56, 76}; // 不是[ ] 中括号, 应该是大括号 { }

  6.     arryMax(ages, sizeof(ages) / sizeof(int)); // 少了分号 ;

  7.     return 0;
  8. }
  9. int arryMax(int a[], int count)
  10. {

  11.     int temp = a[0];

  12.     for (int i = 0; i < count - 1; i++) // 取值范围 应该是  0 ~ (count-1) , 不然 a[i+1] 会角标越界,得出错误结论
  13.     {
  14.         if (a[i + 1] > a[i])
  15.         {
  16.             temp = a[i + 1];
  17.         }
  18.     }
  19.     return temp;
  20. }
复制代码
回复 使用道具 举报
分号。在Xcode里会报错的
回复 使用道具 举报
函数声明和函数定义的不同之处是,函数声明一定要加“;”
回复 使用道具 举报
你现在学到哪了亲
回复 使用道具 举报
for循环里,i < count - 1
回复 使用道具 举报 1 0
CornerFly 发表于 2015-5-9 11:33
你现在学到哪了亲

基本看了一遍了 但是发现很多都忘了,正在抓紧学习,你呢
回复 使用道具 举报

嗯嗯,谢谢 我自己又弄了一遍了 问题解决了
回复 使用道具 举报
i花生 发表于 2015-5-9 09:37
函数声明和函数定义的不同之处是,函数声明一定要加“;”

知道了,谢谢!!
回复 使用道具 举报
wangsong 发表于 2015-5-9 17:24
for循环里,i < count - 1

谢谢评论
回复 使用道具 举报
一行一行的查吧,对于没有定义到那一行的错误
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马