while(*a++=*b++) while(*a++=*b++) 这不是复制两个字符串的吗为什么 需要一个左值?应该怎么写?

来源:学生作业帮助网 编辑:作业帮 时间:2024/08/28 18:43:09
while(*a++=*b++) while(*a++=*b++) 这不是复制两个字符串的吗为什么 需要一个左值?应该怎么写?
xQMKA+{/DHR. Jjm*d-Vkfޙ_4c"ءNywJh?VP-MS2;,I!`p4Q8z7vp% ;8B4 n P $oɿ%UuOU5 >n iR({)̀ ]qu1kp9ԉuX/y*lH*KnYn?Zmq\L2 [-namr_}Uך#r=UM! 25"9e4b @~UVh%IY:w.tf?#p'#wZ1cЅ

while(*a++=*b++) while(*a++=*b++) 这不是复制两个字符串的吗为什么 需要一个左值?应该怎么写?
while(*a++=*b++)
while(*a++=*b++) 这不是复制两个字符串的吗
为什么 需要一个左值?应该怎么写?

while(*a++=*b++) while(*a++=*b++) 这不是复制两个字符串的吗为什么 需要一个左值?应该怎么写?
这个应该是这样吧
while(*(++a)=*(++b));

先赋值,在自加,最后连\0的结束符也赋值进去
这个就是利用了结束符\0就是0的原理
当吧结束符赋值进去后,那么就是判断*a的值,如果是0了,就退出循环
要是先自加,在赋值,那么第一个字符时赋值不进去的