我正在爲我的中期學習。這是對問題30和31 的示例代碼*(數組+3)如何工作?
#include <stdio.h>
void doubleArray(int array[], int length)
{
for (int i = 0; i < length-2; i++) {
array[i] += array[i];
}
length += 5;
printf(「%d\n」, length); // Question 29
}
int main(int argc,char *argv[]) {
int integers[6] = { 3, 4, 5, 6, 7, 8};
int length = 6;
printf(「%d\n」, integers[4]); // Question 28
doubleArray(integers, length);
printf(「%d\n」, *(integers + 3)); // Question 30
printf(「%d\n」, *(integers + 4)); // Question 31
printf(「%d\n」, length); // Question 32
}
的答案是,它打印12(30)和7(31) 可有人向我解釋爲什麼,什麼是「*(整數+ 3) 「是指?
它意味着同樣的事情'整數[ 3]',定義如下: –
printf(「%d \ n」,*(整數+ 3)),那麼它如何打印出12? –
doubleArray() –