黑马程序员技术交流社区

标题: 求教这个sizeof 是出了什么问题? [打印本页]

作者: 离渊    时间: 2014-4-19 11:54
标题: 求教这个sizeof 是出了什么问题?
本帖最后由 离渊 于 2014-4-19 12:01 编辑

#include <stdio.h>
int  maxofarray(int array[],int length)
{
    for (int i = 0; i < length; i++) {
        printf("array[%d]=%d",i,array);
    }
    return 0;
}
int main()
{
    int ages[]={34,32,56,67,87,25};
    int maxofarray(ages,sizeof(ages)/sizeof(int));
    return 0;
}

k3.c:18:25: error: expected identifier
    int maxofarray(ages,sizeof(ages)/sizeof(int));
                                      ^
1 error generated.


作者: 脸皮猴    时间: 2014-4-19 11:59
  1. int maxofarray(ages,sizeof(ages)/sizeof(int));
复制代码

上面函数的调用不要加int,加了int这就变成函数的声明了
作者: 微尘•逐梦    时间: 2014-4-19 12:01
在使用函数前错误的添加了int类型,应该去掉int,修改后的代码如下。
  1. #include <stdio.h>
  2. int  maxofarray(int array[],int length)
  3. {
  4.     for (int i = 0; i < length; i++) {
  5.         printf("array[%d]=%d",i,array[i]);
  6.     }
  7.     return 0;
  8. }
  9. int main()
  10. {
  11.     int ages[]={34,32,56,67,87,25};
  12.     maxofarray(ages,sizeof(ages)/sizeof(int));//此处不应该有int
  13.     return 0;
  14. }
复制代码

作者: blz01003hm    时间: 2014-4-19 13:15
楼主太不认真了!
#include <stdio.h>
int  maxofarray(int array[],int length)
{
      int i=0;//i没有定义
        for(i=0;i<length;++i){
        printf("ages[%d]=%d\n",i,array[i]);//是array[i]
}
    return 0;
}
int main()
{
    int ages[]={34,32,56,67,87,25};


     maxofarray(ages,sizeof(ages)/sizeof(int));//没有int
    return 0;
}
作者: 墨迹的可乐    时间: 2014-4-19 14:38
#include <stdio.h>
int  maxofarray(int array[],int length)
{
    for (int i = 0; i < length; i++) {
        printf("array[%d]=%d",i,array);
    }
    return 0;
}
int main()
{
    int ages[]={34,32,56,67,87,25};
    int maxofarray(ages,sizeof(ages)/sizeof(int)); //这个int不应存在
    return 0;
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2