gpt4 book ai didi

c - 我在此代码中收到错误 "invalid indirection"

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

我正在尝试动态分配一个连续的内存块,存储一些整数值并显示它。

#include<stdio.h>
#include<conio.h>
void main()
{ int i;
int *ptr;
ptr=(void *)malloc(sizeof(int)*5); //allocation of memory

for(i=0;i<5;i++)
{ scanf("%d",&ptr[i]);
}
for(i=0;i<5;i++)
{ printf("%d",*ptr[i]); //error is found here``
}
} }

最佳答案

ptr[i] 表示地址 (ptr+i) 处的值,因此 *ptr[i] 没有意义。您应该删除 *

您更正后的代码应该是:

 #include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main()
{
int i;
int *ptr;
ptr=malloc(sizeof(int)*5); //allocation of memory

for(i=0;i<5;i++)
{ scanf("%d",&ptr[i]);
}
for(i=0;i<5;i++)
{ printf("%d",ptr[i]); //loose the *
}
return 0;
} //loose extra }

关于c - 我在此代码中收到错误 "invalid indirection",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30950228/

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