*t++ = *s++; // *优先级大于后置++,++作用于指针t、s
相等于:
*t = *s;
++t;
++s;
int main()
{
int arrays[] = {10, 20, 30, 40, 50};
int *p = arrays;
printf("*++p: %d\n", *++p); // 20 操作指针、再解值
printf("++*p: %d\n", ++*p); // 21 ++的对象是 *p
// 10 21 30 40 50
printf("*p++: %d\n", *p++); // 21 (先解值,再指针后移【++的对象是p】)(*优先级大于后置++, 由于优先级的作用,这里++不是对取值之后的*p, 而是对p进行++)
// 此时p指向30
printf("*(p++): %d\n", *(p++)); // 30 // 和上面式子一样,先取值,再++指针下移
// 此时p指向40
printf("(*p)++: %d\n", (*p)++); // 40 40输出后,(*p)再++;++的对象是数组里面的值
printf("*p: %d\n", *p); // 41
// 10 21 30 41 50
return 0;
}
*++p: 20
++*p: 21
10 21 30 40 50
*p++: 21
*(p++): 30
(*p)++: 40
*p: 41
10 21 30 41 50