Objective c 如何修复错误格式指定类型';字符*';但参数的类型为';char';
我收到一条警告说: Format为student变量指定类型“char*”,但参数的类型为“char”。我正在将一本书中的代码复制/粘贴到xcode中,不知道如何修复此问题。控制台中唯一打印的内容是“(lldb)”。有什么建议吗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
#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更改为字符串指针,您必须在studentchar*student
在您的代码中,您正在使用输入参数字符串调用祝贺学生“mark”
。因此,为了支持这个字符串,输入参数student
应该定义为字符串的指针
所以你在学生的定义中漏掉了星号
对于课程
无效祝贺学生(char*student,char*course,int numDays)
像这样使用函数签名,因为您将字符串作为参数传递给main
中的函数,但函数具有字符类型参数
void congratulateStudent(char *student, char *course, int numDays)