Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何修复错误格式指定类型';字符*';但参数的类型为';char';_Objective C_C_Xcode - Fatal编程技术网

Objective c 如何修复错误格式指定类型';字符*';但参数的类型为';char';

Objective c 如何修复错误格式指定类型';字符*';但参数的类型为';char';,objective-c,c,xcode,Objective C,C,Xcode,我收到一条警告说: Format为student变量指定类型“char*”,但参数的类型为“char”。我正在将一本书中的代码复制/粘贴到xcode中,不知道如何修复此问题。控制台中唯一打印的内容是“(lldb)”。有什么建议吗 #include <stdio.h> void congratulateStudent(char student, char course, int numDays) { printf("%s has done as much %s Program

我收到一条警告说: Format为student变量指定类型“char*”,但参数的类型为“char”。我正在将一本书中的代码复制/粘贴到xcode中,不知道如何修复此问题。控制台中唯一打印的内容是“(lldb)”。有什么建议吗

#include <stdio.h>

void congratulateStudent(char student, char course, int numDays)
{
    printf("%s has done as much %s Programming as I could fit into %d days.\n", student, course, numDays);
}

int main(int argc, const char * argv[])
{
    // insert code here...
    congratulateStudent("mark", "Cocoa", 5);
    return 0;
}
#包括
无效祝贺学生(char学生,char课程,整数天)
{
printf(“%s已经完成了%s编程,我可以在%d天内完成。\n”,学生,课程,numDays);
}
int main(int argc,const char*argv[]
{
//在这里插入代码。。。
祝贺学生(“马克”,“可可”,5);
返回0;
}
%s
表示要打印字符串(字符数组)

char student
这意味着student是
char
类型

所以这里的学生不是一个指向字符串的指针

为了将学生类型从char更改为字符串指针,您必须在student
char*student

在您的代码中,您正在使用输入参数字符串
调用
祝贺学生
“mark”
。因此,为了支持这个字符串,输入参数
student
应该定义为字符串的指针

所以你在学生的定义中漏掉了星号


对于
课程

无效祝贺学生(char*student,char*course,int numDays)

像这样使用函数签名,因为您将字符串作为参数传递给
main
中的函数,但函数具有字符类型参数

void congratulateStudent(char *student, char *course, int numDays)