赋值两边后置自增,字符指针

问题描述 投票:0回答:1

考虑:

char *s, *t;
char c;

这个作业会发生什么?

*t++ = *s++;

这在功能上等同于(选项 1)吗:

c = *t;
t++;
*s = c;
s++;

或者它相当于这个(选项2):

c = *s;
s++;
*t = c;
t++;
c pointers
1个回答
0
投票

编译器将会对该表达式语句发出错误

*t++ = *s++;

因为尝试将值赋给右值。

avove 语句相当于

*( t++ ) = *( s++ );

后缀增量运算符返回一个值。

© www.soinside.com 2019 - 2024. All rights reserved.