语句)*pc++=*pa++,请教什么意思

cometzg 2011-11-09 10:11:27
*pc++=*pa++; 不明白这个语句是什么意思,请大侠们指教。下附源程序,不明白的语句在变色的一行。



void MergeList_Sq( SqList La, SqList Lb ,SqList &Lc )
{
//已知顺序线性表La和Lb的元素按值非递减排列
//归并La和Lb得到新的顺序线性表Lc,Lc的元素也按值非递减排列
pa=La.elem;
pb=Lb.elem;
Lc.listsize=Lc.length=( ElemType*)malloc( Lc.Listsize *sizeof(ElemType) );
if(!Lc.elem)exit(OVERFLOW);//存储分配失败
pa_last=La.elem+La.length-1;
pb_last=Lb.elem+Lb.length-1;
while(pa<=pa_last && pb<=pb_last)
{
//归并
if(*pa<=*pb)*pc++=*pa++;
else *pc++=*pb++;
}
while(pa<=pa_last)*pc++=*pa++;
while(pb<=pb_last)*pc++=*pb++;
}//MergeList_Sq
...全文
2641 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
carlous0 2014-07-30
  • 打赏
  • 举报
回复
pa_last=La.elem+La.length-1; pb_last=Lb.elem+Lb.length-1; 是什么意思
  • 打赏
  • 举报
回复
赋值,然后指针移动
超级大笨狼 2011-11-10
  • 打赏
  • 举报
回复
一对一的拷贝
fangzhaoguo 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 cometzg 的回复:]
*pc++=*pa++; 不明白这个语句是什么意思,请大侠们指教。下附源程序,不明白的语句在变色的一行。



void MergeList_Sq( SqList La, SqList Lb ,SqList &Lc )
{
//已知顺序线性表La和Lb的元素按值非递减排列
//归并La和Lb得到新的顺序线性表Lc,Lc的元素也按值非递减排列
pa=La.elem;
pb……
[/Quote]

把pa指向的数据的值赋给pc指向的数据

应该是这样
cometzg 2011-11-10
  • 打赏
  • 举报
回复
谢谢 libralibra的解答,不过,为了试验,我自己写了个程序,但仍出错,出错提示为:“Lvalue required in function main ”
出错位置标在下面程序中。
请各位大侠多多指点。

void main()
{
int pc,pa,i;
pc=pa=i=1;
while( pc<=20 )
{
/* pc=pa;pc++;pa++; 这句能编译通过*/ /* pc++=pa++; 这句提示出错*/ printf("pc= ",pc," pa= ",pa,"No. :" ,i++,"\n");
}
}
libralibra 2011-11-10
  • 打赏
  • 举报
回复 9
循环中指针变量的赋值
等价于
*pc=*pa;
pc++;
pa++;
PeterHuaWei3 2011-11-09
  • 打赏
  • 举报
回复
赋值语句

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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