数组指针比较错误

时间:2015-10-26 17:48:43

标签: c arrays

它是我在数组代码中的简单插入和显示元素。

var request = require('request');
request('http://www.google.com', function (error, response, body) {
    if (!error && response.statusCode == 200) {
    console.log(body); 
} else {
    console.log(error);
}
})

输出 ::     在功能'显示'中:     prog.c:33:24:错误:指针和整数之间的比较           对于(I = 0;常用3 [I] = NULL; @我++)                         ^     这是我无法解决的错误。

2 个答案:

答案 0 :(得分:1)

您的代码中有多项需要更正的内容,但您获得的错误是由pointer(NULL)与int arr[i]

之间的比较造成的
for(i=0;arr[i]!=NULL;i++)

您的整数数组arr最后没有任何NULL元素可以进行比较。也许您在stringinteger arrays之间感到困惑。

您的代码中可以更改的另一件事是函数insert()delete()的返回类型。你没有收到返回值,因此最好让它们无效。

建议

n函数返回insert(),在main()中接收display()。然后将其与数组一起发送到for函数,然后在this循环中使用它。

了解传递给函数的数组中元素数量的最佳方法是将其与数组一起发送到该函数。

答案 1 :(得分:0)

'
#include<stdio.h>
#include<stdlib.h>
int MAX=5,i,pos,val;
int display(int *arr);
int main(void)
{
    int arr[MAX];
    display(arr);
}

int display(int *arr)
{
    printf("The values are::");
    for(i=0;i<MAX;i++)
    {
           printf("\n a[%d]-->%d ",i,arr[i]);
    }
        return *arr;
}'

为避免使用太多变量,我继续使用&#39; MAX&#39;在code.Making它全局,它工作!!