c语言中 k*=2 是什么意思

2024-11-21 13:49:22
推荐回答(5个)
回答1:

k是一个指针,这句话的意思是k指向的地址中存放的变量值等于2,k=k*2;//将k乘以2并将结果赋值给k这个变量。

举例:如果a=2,k=&a,则执行*k+=2后,a=4,相当于执行了a=a+2。

k*=2等价于k=k*2;

k-=2k=k-2

k+=2k=k+2

k/=2k=k/2

k%=2k=k%2

扩展资料

C语言“->”运算符

C语言代码定义了结构体S,成员a代表0偏移,而成员b则代表2字节偏移(这里假设int变量占用2字节内存,也不考虑内存对齐)。

代码定义了结构体X,它也包含成员a,它的名字与结构体S中的成员a重复了,但是没有问题,因为它们都代表0偏移。因为结构体Y中的成员a与结构体S中的成员a重名,并且代表的字节偏移量也不相等。

回答2:

k *=2 等同于 k = k * 2 。例如

int k = 10;
k *= 2;   /* 运算后k的值=20*/

在C语言中,表达式k*=2 的运算符是 *= ,称为乘法自反赋值运算符。这个运算符的含义等同于 k=k*2

除了乘法自反赋值运算符,还有:

加法自反赋值运算符 +=  例如  k+=2 ,等同于 k=k+2

减法自反赋值运算符 -=  例如  k-=2 ,等同于 k=k-2

除法自反赋值运算符 /=  例如  k/=2 ,等同于 k=k/2


等等

回答3:

这个是简写 将其还原后的表达式为:
k = k * 2; // 将k乘以2并将结果赋值给k这个变量

回答4:

这个的意思为左边的乘以右边的,赋值给左边的变量,即就说,s*=2等价为s=s*2,举一反三,s*=16+b+a*3等价为s=s*(16+b+a*3)。

回答5:

k *=2 等价于 k = k*2;
与此类似的还有
k-=2 k=k-2
k+=2 k=k+2
k/=2 k= k/2
k%=2 k=k%2
还有很多类似的。