首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在i,k;k &= i;

在i,k;k &= i;
EN

Stack Overflow用户
提问于 2012-10-17 22:20:33
回答 3查看 226关注 0票数 2

作为一个学习指针的初学者,我写了如下内容

代码语言:javascript
运行
复制
int i = 1,
    j = 2,
    k;

k &= i;
i = 3;

然而,期望k指向i,我很快就发现错误在于k不是int指针,而只是一个int。但是它为什么会编译并运行呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-17 22:21:42

代码语言:javascript
运行
复制
k &= i;

是的缩写

代码语言:javascript
运行
复制
k = k & i;

其中&是按位and。它与指针无关。

如果你想让k指向i,你需要让它成为一个指针:

代码语言:javascript
运行
复制
// v
int* k;

并将其指向i

代码语言:javascript
运行
复制
k = &i; // NOTE: different from k &= i;
票数 21
EN

Stack Overflow用户

发布于 2012-10-17 22:22:00

&=与k=k& i相同。&是按位AND运算符。

票数 2
EN

Stack Overflow用户

发布于 2012-10-17 22:22:19

k &= i等同于k = k & i,它是一种按位and运算。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12936465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档