| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 691 人关注过本帖, 1 人收藏
标题:在Linux环境下编的C 帮忙看看哪里错了
只看楼主 加入收藏
GeBron
Rank: 2
等 级:论坛游民
帖 子:23
专家分:33
注 册:2011-4-14
收藏
得分:0 
函数定义:
void fun(int arr[], int n);

调用时:
fun(a, SIZE);

这样即可~
2012-11-13 21:26
williamweng
Rank: 1
等 级:新手上路
帖 子:34
专家分:2
注 册:2010-10-7
收藏
得分:0 
回复 9楼 zklhp
还是不行的。。。。其实把sizeof(array)改成SIZE就好了。 这格式是老师教得好啊。
2012-11-13 21:36
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用williamweng在2012-11-13 21:36:52的发言:

还是不行的。。。。其实把sizeof(array)改成SIZE就好了。 这格式是老师教得好啊。

bash-3.1$ ./a.exe
===dump array===
10
0123456789
===end===

难道不是这种效果么
2012-11-13 21:44
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
  for(i=0;i<sizeof(array);i++)之中函数sizeof测量的对象array是一个指针,他只占一个字节,所以只有0和1的结果正确输出,把sizeof()的括号里放上一个int型的数1,2,3之类的就行了。浮点的也行




本人新手说错勿怪,欢迎指正

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-13 22:17
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
刚才瞎说的,楼主看这样行不
程序代码:
    #include<stdio.h>

#define SIZE (10)

void fill (int array[SIZE]){
    int i;
    int a[1][SIZE];
    for(i=0;i<sizeof(a);i++)
        array[i]=i;
}

int main(){
    int array[SIZE],i;
    fill(array);


    printf("===dump array===\n");
    printf("%d\n",SIZE);
    for(i=0;i<SIZE;i++){
        printf("%d\t",array[i]);
    }
    printf("\n===end===\n");
    return 0;
}
本人新手,说错勿怪,欢迎指正。。

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-13 22:36
快速回复:在Linux环境下编的C 帮忙看看哪里错了
数据加载中...
 
   



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

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