int main(void) {
int x[100];
int *myPtr;
int j;
myPtr = &(x[100]);
for (j=0; j<100; j++) {
*myPtr = j;
myPtr ++;
}
printf("%d", *myPtr);
return 0;
}
这是我的代码(到目前为止)^ 这些是我的指示:
最佳答案
myPtr = &(x[100]);
中的赋值不正确:您使 myPtr
指向数组的末尾,导致在您编写时出现未定义的行为那里和更远。
将赋值更改为 myPtr = x;
或 myPtr = &x[0];
并将最后一条语句更改为 printf("%d", * x);
修改后的版本:
#include <stdio.h>
int main(void) {
int x[100];
int *myPtr;
int j;
myPtr = x;
for (j = 0; j < 100; j++) {
*myPtr = j;
myPtr++;
}
printf("x contains numbers from %d to %d\n", x[0], x[99]);
return 0;
}
https://stackoverflow.com/questions/69442123/