考虑:
char *s, *t;
char c;
这个作业会发生什么?
*t++ = *s++;
这在功能上等同于(选项 1)吗:
c = *t;
t++;
*s = c;
s++;
或者它相当于这个(选项2):
c = *s;
s++;
*t = c;
t++;
编译器将会对该表达式语句发出错误
*t++ = *s++;
因为尝试将值赋给右值。
avove 语句相当于
*( t++ ) = *( s++ );
后缀增量运算符返回一个值。