我的代码如下所示:
int some_array[8];
some_array[7] = an_integer;
if ( 550 < some_value ) {
some_array[7]--;
log("Lowered the value");
}
我希望如果我在日志中看到字符串“降低值”,我应该知道代码正在执行。但是,我看到记录的字符串,但值不会更改。 C some_array[7]--
中是否存在我遗漏的内容?
答案 0 :(得分:0)
int some_array[8];
int some_array[7] = an_integer; //This is the problem line.
if ( 550 < some_value ) {
some_array[7]--;
log("Lowered the value");
}
此代码没有按照您的想法执行。
您没有some_array
8个索引。你有some_array
有7个索引,而some_array[7]
超出了some_array[]
实际拥有的范围(但是C
没有为此抛出异常)。试试这个:
int some_array[8];
some_array[7] = an_integer;
if ( 550 < some_value ) {
some_array[7]--;
log("Lowered the value");
}
答案 1 :(得分:-2)
试试这个
int some_array[8];
int some_array[7] = an_integer;
if ( 550 < some_value ) {
some_array[7] = some_array[7]--;
log("Lowered the value");
}