-1
我被表達式*d++=*s++
弄糊塗了。如何去實踐它。如何解釋運營商的優先級* d ++ = * s ++
int main()
{
char s[20]="hello,world";
char d[20];
char *src=s;
char *des=d;
while(*src) *des++=*src++;
return 0;
}
我被表達式*d++=*s++
弄糊塗了。如何去實踐它。如何解釋運營商的優先級* d ++ = * s ++
int main()
{
char s[20]="hello,world";
char d[20];
char *src=s;
char *des=d;
while(*src) *des++=*src++;
return 0;
}
它具有相同的行爲:
*dest = *src;
dest++;
src++;
也就是說複製的字符指向的src
的字符由dest
指向。然後將每個指針移到下一個字符元素。
不再是 - 有人編寫難以理解且難以理解的代碼,因此需要在SO上提出問題。爲什麼不把它分成多行,以便它可讀? – 2014-11-25 03:19:33
可能重複[取消引用後的* p ++增量嗎?](http://stackoverflow.com/q/9255147/1708801) – 2014-11-25 03:20:31
爲什麼不在'* des ++ = * srC++'之前放置'printf()'並且之後觀察指針位置和值的src和des的變化?它讓你更好地理解它是如何運行的。 – SSC 2014-11-25 03:23:08