gpt4 book ai didi

arrays - 当我尝试初始化 100 个元素的一维数组并使用指针填充它时出现段错误(核心已转储)

转载 作者:行者123 更新时间:2023-12-05 09:30:32 30 4
gpt4 key购买 nike

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;
}

这是我的代码(到目前为止)^这些是我的指示:

  1. 创建一个大小为 100 的一维整数数组。A。使用指针加载数组,其中包含从 0 到 99 的连续数字。b.使用指针按升序写出数组。C。使用指针按降序写出数组。

最佳答案

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;
}

关于arrays - 当我尝试初始化 100 个元素的一维数组并使用指针填充它时出现段错误(核心已转储),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69442123/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com