
c语言中,x*=2是什么意思?
7个回答
展开全部
--x是前置自减,还有x++后置自减。--x把x-1然后返回x,也就是说返回的是一个变量,是个左值,可以赋值,--x=2的效果就是x加1后又等于了2,加1白加了。x--返回x的值,然后x加1,这个返回的是个右值,不能放在=的左边,也就是说x--=2是错的。
展开全部
“*=”是复合赋值运算符。
x*=y
等价于
x = (x) * (y)
上述表达式等价于
x = x * 2
样例:
int x = 2, y = 1;
x *= y - 1;
printf("%d", x);
输出:0
因为x *= y - 1等价于x = x * (y - 1)
x*=y
等价于
x = (x) * (y)
上述表达式等价于
x = x * 2
样例:
int x = 2, y = 1;
x *= y - 1;
printf("%d", x);
输出:0
因为x *= y - 1等价于x = x * (y - 1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
说一下原理:
x=x*2;
编译器在语法翻译的时候最终会用逆波兰式来表示(其他的也可以的)
也就是翻译成x*=2的形式。
所以我们书写的时候把x=x*2写成x*=2,可以提高程序的效率。
大三的时候编译原理有讲的。
祝你好运!
x=x*2;
编译器在语法翻译的时候最终会用逆波兰式来表示(其他的也可以的)
也就是翻译成x*=2的形式。
所以我们书写的时候把x=x*2写成x*=2,可以提高程序的效率。
大三的时候编译原理有讲的。
祝你好运!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
“*=”是复合赋值运算符。
x*=y
等价于
x = (x) * (y)
上述表达式等价于
x = x * 2
样例:
int x = 2, y = 1;
x *= y - 1;
printf("%d", x);
输出:0
因为x *= y - 1等价于x = x * (y - 1)
扩展资料
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。
指针是一把双刃剑,许多操作可以通过指针自然的表达,但是不正确的或者过分的使用指针又会给程序带来大量潜在的错误。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
意思是x=x*2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询