如何修复错误格式指定类型’char *’但参数的类型为’char’
我收到一条警告:“Format指定类型’char *’,但参数的类型为’char’”,用于student变量。 我正在将一本书中的代码复制/粘贴到xcode中,我不知道如何解决这个问题。 在控制台中打印的唯一内容是“(lldb)”。 任何建议
#include 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; }
void congratulateStudent(char *student, char *course, int numDays)
%s
表示您要打印字符串(字符数组)
和char student
这意味着学生是char
类型
所以这里的学生不是指向字符串的指针
为了将学生类型从char更改为字符串指针,您必须为学生char *student
添加星号
在您的代码中,您使用输入参数字符串"mark"
调用congratulateStudent
。 因此,要支持此字符串,应将输入参数student
定义为string的指针
所以你在学生的定义中缺少星号
同样的事情course
void congratulateStudent(char *student, char *course, int numDays)
使用函数签名,因为您在main
中将字符串作为参数传递给函数但函数具有字符类型参数。