我正在阅读K&R C书,并-->在优先级表中通过了这个操作符.所以,我想知道是否有类似的运算符,<--并编写了以下程序:
#include<stdio.h>
void main()
{
int x = 5;
while(0 <-- x)
printf("%d",x);
}
Run Code Online (Sandbox Code Playgroud)
它工作得非常好.那么为什么不< - 不被视为运营商?(因为它不在优先表中!)它的优先级是什么?
Ed *_* S. 11
-->不是一个操作员,而是两个; (邮政)减少和减少.C在大多数情况下与空白无关,因此:
x --> y
/* is the same as */
x-- > y
Run Code Online (Sandbox Code Playgroud)
<-- 是同样的想法:
x <-- y
/* is the same as */
x < --y
Run Code Online (Sandbox Code Playgroud)
也许你感到困惑->与-->. ->取消引用指针以获取它引用的类型的成员.
typedef struct
{
int x;
} foo;
int main(void)
{
foo f = {1};
foo *fp = &f;
printf("%d", fp->x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
<- 根本不是一个操作员.