我收到警告说: “Format指定类型'char *',但参数的类型为'char'”,用于student变量。我正在将一本书中的代码复制/粘贴到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;
}
答案 0 :(得分:7)
void congratulateStudent(char *student, char *course, int numDays)
%s
表示您要打印字符串(字符数组)
和char student
这意味着学生是char
类型
所以这里的学生不是指向字符串的指针
为了将学生类型从char更改为字符串指针,您必须向学生char *student
添加星号
在您的代码中,您使用输入参数字符串congratulateStudent
调用"mark"
。因此,要支持此字符串,应将输入参数student
定义为字符串
所以你缺少学生定义中的星号
course
答案 1 :(得分:0)
void congratulateStudent(char *student, char *course, int numDays)
使用函数签名,因为您将字符串作为参数传递给main
中的函数,但函数具有字符类型参数..