while(*p++=*p2++!='\0');与while((*p++=*p2++)!='\0');//有什么区别?
#include <iostream>using namespace std;int main() { char array[5]="abcd"; char array2[5]="efgh"; char* p =array; char* p2 =array2; while((*p++=*p2++)!='\0'); if((*p)=='\0')//为什么不等于'\0'? cout<<"\0"<<endl;}
while(*p++=*p2++!='\0');与while((*p++=*p2++)!='\0');//有什么区别//!=优先级高于=优先级,所以while(*p++=*p2++!='\0');相当于while(*p++=(*p2++!='\0'));