为啥我的数组值会发生变化? [复制]
Posted
技术标签:
【中文标题】为啥我的数组值会发生变化? [复制]【英文标题】:Why are my array values changing? [duplicate]为什么我的数组值会发生变化? [复制] 【发布时间】:2015-10-29 01:14:59 【问题描述】:我正在尝试初始化一个 int 数组,但是当我返回引用它时,我的值会发生变化,如您所见 here。例如,我的值 010, 011 正在更改为 8,9。谁能告诉我为什么会这样?提前谢谢!
【问题讨论】:
如果没有您的代码,他们就不能,而且我不会去“场外”查看您的代码。 您是否要存储二进制值?松开前导 0 【参考方案1】:以零开头的数字被编译器视为八进制。
八进制的010是8。
也许只需使用10
来初始化这些值。
【讨论】:
不知道,谢谢!【参考方案2】:通过在 10 前加上 0,您是在告诉编译器它是一个八进制数(以 8 为基数)。要解决这个问题,只需将您的值初始化为 10,11
【讨论】:
以上是关于为啥我的数组值会发生变化? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如果数组大小发生变化以及定义的宏如何在此处计算偏移量,为啥 C 结构中的字符数组的偏移量会有所不同? [复制]