thuzhangga 2016-01-26 08:06 采纳率: 0%
浏览 1587

关于返回数组指针的函数

函数的代码如下:
int *cal(int *a,int num)
{
int digit=sizeof(a)/sizeof(int);
int *result=a;
int *b=(int *)calloc(digit+1,sizeof(int));
for(int i=0;i {
b[i+1]=(result[i]*num+b[i])/10;
result[i]=(result[i]*num+b[i])%10;
}
if(b[digit]>=1)
{
int *c=result;
digit++;
result=(int *)malloc(sizeof(int)*digit);
for(int two=0;two<digit-1;two++)
result[two]=c[two];
result[digit-1]=b[digit-1];
}
free(b);
return result;
}
这个代码是用来计算一个高位数乘以一个小于10的整数的。
如果以上代码我直接用没有任何问题。
但我在主函数中这样调用时却不对:
int *d=cal(a,4);
for(int three=0;three<4;three++)
printf("%d",d[three]);

难道这样不可以?懵逼了


  • 写回答

4条回答 默认 最新

  • ysuwood 2016-01-26 08:32
    关注

    把你在main函数里的代码贴出来,可能使用不对:
    应该定义:int a[4];
    并初始化。

    评论

报告相同问题?

悬赏问题

  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?