将char指针传递到函数时出错

将char指针传递到函数时出错,c,function,pointers,char,C,Function,Pointers,Char,您好,我在尝试将字符传递给函数时出错。 这是我的密码 变数 char *temp; 原型 int checkIfUniqueCourseNo(char,int); 召唤 还有我的错误 warning: improper pointer/integer combination: arg #1 我是C语言的新手,所以请对我放松:)您的函数接受一个字符;您正试图传入一个char* 要解决此问题,您需要指向指针以获取它所指向的字符,以便您的函数接收它所期望的参数类型: checkIfUniqueC

您好,我在尝试将字符传递给函数时出错。 这是我的密码

变数

char *temp;
原型

int checkIfUniqueCourseNo(char,int);
召唤

还有我的错误

warning: improper pointer/integer combination: arg #1

我是C语言的新手,所以请对我放松:)

您的函数接受一个
字符;您正试图传入一个
char*

要解决此问题,您需要指向指针以获取它所指向的字符,以便您的函数接收它所期望的参数类型:

checkIfUniqueCourseNo(*temp,k);

如果函数不包含char
,则应取消对指针的引用:

checkIfUniqueCourseNo(*temp,k);
//                    ^ pass the char addressed by temp

您的变量是
char*
(char指针),但函数采用
char
(不是指针)

如果要将temp的内容传递给函数,请使用
checkIfUniqueCourseNo(*temp,k)
。如果确实要传递指针本身,请将函数声明为

int checkIfUniqueCourseNo(char*,int);

@DanielDC-在取消引用之前,确保指针中有一个有效的地址(在您的问题中,您只是声明了它,但没有初始化它)
int checkIfUniqueCourseNo(char*,int);