gpt4 book ai didi

c - 混合数组的程序中出现未处理的异常

转载 作者:行者123 更新时间:2023-11-30 20:25:48 25 4
gpt4 key购买 nike

我的程序出现一些问题,但没有任何编译错误。我收到“ALINUR_CAGLAYAN_LAB6.exe 中 0x00d114d6 处未处理的异常:0xC0000005:读取位置 0x00000006 时访问冲突”。输入数组元素后出错。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

main(void)

{
float *newArray, *blendingArray;
int a, x, blendingLength;

printf("length: ");
scanf("%d", &blendingLength);

blendingArray = (float*)malloc(blendingLength*sizeof(float));
newArray = (float*)malloc(blendingLength*sizeof(float));

for(a=0; a<blendingLength; a++)
{
printf("%d. element", a+1);
scanf("%d", &blendingArray);
}

for(a=0; a < blendingLength; a++)
{
if (a % 2 == 0)
{
newArray[a]=blendingArray[a];
}
else if (a % 2 == 1)
{
newArray[a]=blendingArray[blendingLength - a];
}
}
for (a=0; a < blendingLength; a++)
{
printf("%d. element of new array: %d\n", a+1, newArray[a]);
}
return *newArray;
}

最佳答案

您正在将整数值读入 blendingArray指针,反复。如果您尝试输入小数部分,除了会失败之外,这还会使指针处于无用状态(指向 0x00000006 ,例如,如果您输入“6”作为最后一个元素)。

您想要将浮点值读取到 blendingArray元素中:

scanf("%f", &blendingArray[a]);

关于c - 混合数组的程序中出现未处理的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27555432/

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