objective-c – 如何修复错误格式指定类型’char *’但参数的类型为’char’

前端之家收集整理的这篇文章主要介绍了objective-c – 如何修复错误格式指定类型’char *’但参数的类型为’char’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我收到警告说:
“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;
}

解决方法

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

%s表示你打算打印一个字符串(字符数组)

和char学生这意味着学生是一个char类型

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

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

在您的代码中,您使用输入参数字符串“mark”调用congratulateStudent.因此,要支持此字符串,应将输入参数student定义为string的指针

所以你在学生的定义中缺少星号

同样的事情当然

猜你在找的Xcode相关文章