很简单的函数的参数中传指针的问题

kiko_lee 2005-05-28 10:25:22
void parse(int index,int *first,int *last)
{
first = index >> 8;
last = index & 0xff;
return ;
}

void main()
{
int first,last,index;
index = 0x888888;

parse(index,&first,&last);

printf("index = %x --> %x << 8 + %x \n",index,first,last);
}

总是解析的不对,大家来看看为什么呢?
...全文
74 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liqiuhua123 2005-05-28
  • 打赏
  • 举报
回复
支持上面的说法,要对指针指向的内容赋值,必须加*,几层指针就要加几个*号。
只见烟火飞扬 2005-05-28
  • 打赏
  • 举报
回复
#include <stdio.h>//
void parse(int index,int &first,int &last)//
{
first = index >> 8;
last = index & 0xff;
return ;
}

void main()
{
int first,last,index;
index = 0x888888;

parse(index,first,last);//

printf("index = %x --> %x << 8 + %x \n",index,first,last);
}
//打斜线的地方有改动
qrlvls 2005-05-28
  • 打赏
  • 举报
回复
建议指针参数名称不要写的和变量名称相同,例如
void parse(int index,int *pfirst,int *plast)

pfirst = pointer to first
plast = pointer to last

*pfirst = first
*plast = last
qrlvls 2005-05-28
  • 打赏
  • 举报
回复
当然不对
first经过你这样写了已经是指针的
你应该写
*first = index >> 8;
*last = index & 0xff;

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧