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];
    //传指针你只能修改地址指向的内容,而不能修改地址
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 快乐鹦鹉 2022-07-01 07:35
    关注

    e = &L.data[i-1] ; 改为 *e = L.data[i-1];
    指针参数是不能改变指针地址的

    评论
查看更多回答(1条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 matlab中此类型的变量不支持使用点进行索引
  • ¥15 咨询第六届工业互联网数据创新大赛原始数据
  • ¥15 Pycharm无法自动补全,识别第三方库函数接收的参数!
  • ¥15 STM32U575 pwm和DMA输出的波形少一段
  • ¥30 android百度地图SDK海量点显示标题
  • ¥15 windows导入environment.yml运行conda env create -f environment_win.yml命令报错
  • ¥15 这段代码可以正常运行,打包后无法执行,在执行for内容之前一直不断弹窗,请修改调整
  • ¥15 C语言判断有向图是否存在环路
  • ¥15 请问4.11到4.18以及4.27和4.29公式的具体推导过程是怎样的呢
  • ¥20 将resnet50中的卷积替换微ODConv动态卷积