pervtine_e 2022-06-30 23:06 采纳率: 50%
浏览 26
已结题

已经把f变量的地址传给函数参数指针*e,为什么f的值没有改变?(语言-c++)

#include <stdio.h>
#define MAXSIZE 20
typedef int Elemtype;
typedef struct
{
Elemtype data[MAXSIZE];

Elemtype length;

} Sqlist ;

Elemtype GetElem( Sqlist L , int i , int e);
int main(void)
{
int a, b , i;
int f;
b=1;
Sqlist L = {{32 , 39 , 40 , 46 , 1 , 3 , 4},7};
/for(i=0; i<L.length ; i++)
printf (" %d\n", L.data[i]);
/
a = 4 ;
b = GetElem( L , a , &f);
//printf("%d\n" , f ) ;已经把f变量的地址传给函数参数指针
e,为什么f的值没有改变?
if ( b==1 )
printf("%d\n" , f ) ;
else
printf("0\n " ) ;

}

Elemtype GetElem (Sqlist L , int i , int * e)
{
if( i<=0 || i > L.length-1 || L.length == 0 )
return 0 ;
e = &L.data[i-1] ;
//printf("%d",*e);
return 1 ;
}

  • 写回答

2条回答 默认 最新

  • 真相重于对错 2022-07-01 07:24
    关注
    
    *e=L.data[i-1];
    //传指针你只能修改地址指向的内容,而不能修改地址
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月9日
  • 已采纳回答 7月1日
  • 创建了问题 6月30日

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器