应该通过引用调用的函数不起作用

时间:2015-09-01 03:02:44

标签: c pointers pass-by-reference

我需要通过Call by Reference,

返回值
#include<stdio.h>
#include<conio.h>
#include<math.h>

int Splitting(int *,int);
int main()
{
    int x = 1234567891,x1=x,a1,b1,count=0;
    a1=Splitting(&x,count);
    b1=x;
    printf("a1=%d,b1=%d",a1,b1);
}


int Splitting(int *x,int count)
{
    int x1=*x,x2, a = 0, b = 0, a1 = 0, b1 = 0;

    /**Some code logic used**/
    a1=12345,b1=67891;
    x1 =(int *) a1;
    return b1;
}

我需要返回值a1b1

其中b1通过return语句和a1通过引用调用。所以我需要设置值x1=a1;它不起作用。

请建议。

1 个答案:

答案 0 :(得分:4)

当您在代码中指定x1时,您正在分配x

而不是

x1 =(int *) a1;

*x = a1;