c语言 - 期望参数类型为"int",但参数 2 的类型为 'int **'



我在程序上遇到了编译器错误。我将dev -c 与-c99 -wall和-pedination一起使用。

   #include <stdio.h>
   #include <stdlib.h>
int main(){
    int size,dial,isListEmpty=0,init,i,variableSize,totalSize=0;//Some values I am using 
    printf("Welcome to your New Phone ! Please select the size of contact listn");//Welcome Message
    scanf("%d", &size);//input of size
    int *listFirstName = (int*)malloc(size*sizeof(int));//Last name (in numbers)
    int *listLastName = (int*)malloc(size*sizeof(int));// First name in numbers
    int *listNumber = (int*)malloc(sizeof(int));// the phone number
    for (init=0 ; init< size ; init++){//initialization of arrays
        listFirstName[init]=-1;
        listLastName[init]=-1;
        listNumber[init]=-1;
    }

这是编译器显示出错误的地方。

                        if (dial==3){
        int linearAnswer,possibleLN=0, possibleFN=0,flag=0,j=0;
        printf("Would you like to search by Last Name , First Name? Please press 1 or 2n");
        scanf("%d",&linearAnswer);
        if(linearAnswer==1){
            scanf("%d",&possibleLN);
            while(j<size){
                if(listLastName[j]==possibleLN){
                    variableSize=j+1;
                    printf("%d",variableSize);
                    printf("nLast Name:%dt",&listLastName);
                    printf("First Name:%dt",&listFirstName);
                    printf("Phone Number:%d",&listNumber);
                    flag=1;
                }
                j++;
            }

编译器错误:

[警告]格式'%d'期望类型'int'的参数,但是参数2具有'int **'的类型[-wformat =]


该程序会做什么:它复制了1990年代手机的一些基本功能。首先,用户选择联系人列表的大小。然后,他可以添加联系人,找到联系人或列出所有联系人或出口。

编辑:删除图片并添加了更多详细信息

listNumber被声明为int: int*的指针。 &listNumer是类型int**。printf需要int作为%d的参数。

您可能想做的是: printf("%d", *listLastName);

* dereferences listLastName,即让您访问int值。

相关内容

  • 没有找到相关文章

最新更新