鱼C论坛

 找回密码
 立即注册
查看: 2722|回复: 5

C语言函数传指针的关系

[复制链接]
发表于 2012-4-7 18:16:48 | 显示全部楼层 |阅读模式
1鱼币
int * Fun(int n)
{
    int i = 0;
    int * x = (int *)malloc(6 * sizeof(int));

    while ( n!= 0 )
    {
        x[i++] = n%2;
        n /= 2;
    }
    return x;
}



调用这个函数返回一个地址让主函数的一个数组接受是二级指针么?
int **a, **b, **c;

  *a = Fun(h);
        *b = Fun(m);
        *c = Fun(s);   
方式对不?

for ( i=5;i >= 0;--i )
        {
            printf("%d%d%d",**a,**b,**c);
            a++,b++,c++;
        }
输出呢?

谁来帮忙看看



最佳答案

查看完整内容

#include #include int * Fun(int n) { int i = 0; int *x = (int *)malloc(6 * sizeof(int)); while ( n!= 0 ) { x = n%2; n /= 2; } return x; } int main(void) { int *a, *b, *c; int h=16,m=17,s=18; int i; a = Fun(h); b = Fun(m); c = Fun(s); for ( i=5;i >= 0;--i ) { printf("%3d%3d%3d\n",*a,*b,*c) ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-7 18:16:49 | 显示全部楼层
#include<stdio.h>
#include<stdlib.h>

int * Fun(int n)
{
    int i = 0;
    int *x = (int *)malloc(6 * sizeof(int));

    while ( n!= 0 )
    {
        x[i++] = n%2;
        n /= 2;
    }
    return x;
}

int main(void)
{
        int *a, *b, *c;
        int h=16,m=17,s=18;
        int i;

        a = Fun(h);
    b = Fun(m);
    c = Fun(s);   
       
        for ( i=5;i >= 0;--i )
        {
            printf("%3d%3d%3d\n",*a,*b,*c);
            a++,b++,c++;
        }

        return 0;

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-4-7 21:42:11 | 显示全部楼层
*a = Fun(h);
        *b = Fun(m);
        *c = Fun(s);   
这肯定不对,a,b,c都没有初始化,就不能给它所指的变量赋值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-4-7 22:06:15 | 显示全部楼层
   a++,b++,c++;
这是语句?可以运行?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-4-8 11:38:54 | 显示全部楼层
多级指针大多时候是对多维数组用的,其实你这个一维数组,用单指针就可以了。你返回的本来就是一个数组的首地址而已,一维就够了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-10 17:32:21 | 显示全部楼层
&nbsp;a++,b++,c++;
这是语句?可以运行?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-27 19:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表