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日

悬赏问题

  • ¥20 C#调用虚拟键盘TabTip.exe
  • ¥15 Qt4代码实现下面的界面
  • ¥15 CCS离散化传递函数与仿真不一致
  • ¥15 prism提示我reinstall prism 如何解决
  • ¥15 asp.core 权限控制怎么做,需要控制到每个方法
  • ¥20 while循环中OLED显示中断中的数据不正确
  • ¥15 这个视频里的stm32f4代码是怎么写的
  • ¥15 JNA调用DLL报堆栈溢出错误(0xC00000FD)
  • ¥15 请教SGeMs软件的使用
  • ¥15 自己用vb.net编写了一个dll文件,如何只给授权的用户使用这个dll文件进行打包编译,未授权用户不能进行打包编译操作?