C++程序 while(*P++=*q++)什么意思啊

C++程序while(*P++=*q++)什么意思啊... C++程序 while(*P++=*q++)什么意思啊 展开
 我来答
百度网友f19df95c58
推荐于2018-05-07 · TA获得超过1770个赞
知道小有建树答主
回答量:248
采纳率:0%
帮助的人:215万
展开全部
答: 括号里面是个逻辑表达式
代码解释:
首先这是个赋值表达式。"q++"是把q指针变量所指向的内存空间地址自加一个“内存单元”(如果这个指针变量的类型是int类型,那么q自加“一个内存单元”就是增加两个字节),取当前所指内存中的数值(即是,*q++)存储给P当前所指向的内存地址空间,再自加一个"内存单元",最后再取该空间的值作为整个表达式的值的逻辑值。

实际就是:
找地址→取值→赋值给指定内存→再把值取出来作为表达式的逻辑值。

个人建议:实践是检验真理的唯一标准。像这样拿不准的代码,用一个实例来检验是最好不过的了。
的兔子7FND
2013-04-12
知道答主
回答量:24
采纳率:0%
帮助的人:13.8万
展开全部
可以这么理解 把指针*q++处的值付给*P++,*与++的优先级一样但是他们是右运算,所以要++先跟p指针结合,所以先做p++ 由于++在后面所以p没有变,所以可以理解为把*q处的值赋给*P,然后再做指针的自加,也就是先用后加
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
卟懂婗
2013-04-12 · TA获得超过144个赞
知道答主
回答量:39
采纳率:100%
帮助的人:18.6万
展开全部
while后括号中的是循环条件。而p和q是指向字符串的指针变量。作用就是将q所指的字符串复制到p所指的字符串上,直到最后将q的字符串结束标志'\0'赋给*P++然后停止循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cossbow
2013-04-12 · TA获得超过697个赞
知道小有建树答主
回答量:798
采纳率:100%
帮助的人:222万
展开全部
*P=*q; P++; q++; while(*P)
这是运行顺序,但不等效,就是每次循环前都要进行一次
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hekello
2013-04-12 · TA获得超过169个赞
知道答主
回答量:90
采纳率:100%
帮助的人:31.5万
展开全部
复制字符串啊,先*p=*q,然后p++,q++,最后判断while里面的东东是否为0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式