【发布时间】:2020-05-19 16:52:03
【问题描述】:
我在运行程序时遇到问题:
二进制的无效操作数 - (有 'int' 和 'int *')
由于我定义了一个动态数组**engelCikacagiYer,然后我尝试对karakterHP进行操作
int karakterHP = 100;
int **engelCikacagiYer;
engelCikacagiYer = malloc(engelSayisi * sizeof(int));
for(i = 0; i < engelSayisi; i++){
engelCikacagiYer[i] = (rand() % (100 - 5 + 1) + 5);
}
for(i = parkurUzunlugu.Baslangic; i < parkurUzunlugu.Bitis; i++){
if (asal(engelCikacagiYer)) {
karakterHP -= engelCikacagiYer[i];
printf("%d\t", karakterHP);
}
}
【问题讨论】:
-
从
engelCikacagiYer的声明中删除一个*可能就足够了。 -
可能是第一个
for循环是问题所在。但是,假设您通过了这一点,engelCikacagiYer是函数作用域,但在第二个for循环中,您使用的是engeller.engelCikacagiYer。没有 [已发布] 代码将这两个变量关联(例如分配给/从)。那么,struct元素变量是如何初始化的呢?
标签: c dynamic-arrays