C 应为类型为';int';,但参数2的类型为';int**';
我的程序出现编译器错误。我将Dev-C++与-c99-wall和-pedantic一起使用C 应为类型为';int';,但参数2的类型为';int**';,c,arrays,malloc,C,Arrays,Malloc,我的程序出现编译器错误。我将Dev-C++与-c99-wall和-pedantic一起使用 #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 ! P
#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 list\n");//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;
}
#包括
#包括
int main(){
int size,dial,isListEmpty=0,init,i,variableSize,totalSize=0;//我正在使用的一些值
printf(“欢迎使用您的新手机!请选择联系人列表的大小”\n”);//欢迎留言
scanf(“%d”,&size);//输入大小
int*listFirstName=(int*)malloc(size*sizeof(int));//姓氏(以数字表示)
int*listLastName=(int*)malloc(size*sizeof(int));//数字中的名字
int*listNumber=(int*)malloc(sizeof(int));//电话号码
对于(init=0;init
这是编译器显示有错误的地方
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 2\n");
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:%d\t",&listLastName);
printf("First Name:%d\t",&listFirstName);
printf("Phone Number:%d",&listNumber);
flag=1;
}
j++;
}
if(拨号==3){
int linearAnswer,possibleLN=0,possibleFN=0,flag=0,j=0;
printf(“您想按姓、名搜索吗?请按1或2\n”);
scanf(“%d”和lineranswer);
if(linearAnswer==1){
scanf(“%d”,可能为&possibleLN);
而(jlistNumber被声明为指向int的指针:int*
。
&listNumer
属于int**
类型。
printf需要一个int
作为%d
的参数
您可能想做的是:
printf(“%d”,*listLastName);
*
取消引用listLastName,即允许您访问int值。我忘了添加,初始化中的for循环以括号结束。它没有显示在图片中。并且不要在图片中提供源消息或错误消息-将它们作为正确格式的文本与您的问题一起提供,否则许多人将无法回答“我甚至不看你的代码。”我忘了“试试。这似乎是一个警告,而不是一个错误。检查你的库/可执行文件是否正在生成。非常感谢。我现在理解了这个问题。