Objective c 将char传递给c中的函数(这本书错了吗?)

Objective c 将char传递给c中的函数(这本书错了吗?),objective-c,c,char,Objective C,C,Char,我正在读《Objective-C编程大书呆子牧场指南》 他们给出了以下代码: 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); } 用这个称呼它: congratulateStudent("Mark", "C

我正在读《Objective-C编程大书呆子牧场指南》

他们给出了以下代码:

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);
}
用这个称呼它:

congratulateStudent("Mark", "Cocoa", 5);
这给了我一个警告:

Format specifies type 'char *' but the argument has type 'char'

这本书错了吗?

是的,如果这是书中所说的,那么它肯定是一个错误,它应该是char*,正如警告所说的方法中的参数。

是的,如果这是书中所说的,那么它肯定是一个错误,它应该是char*,正如警告所说的方法中的参数。

是的,这本书有一个错误打字错误


C函数的两个参数都应该使用char*而不是char

是的,这本书有输入错误


C函数的两个参数都应该使用char*而不是char是的,这是不正确的。可能是打印错误。只要给他们指点一下:

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

从技术上讲,在C中,将不正确的格式字符串传递给printf是未定义的行为。

是的,这是不正确的。可能是打印错误。只要给他们指点一下:

void congratulateStudent(char* student, char* course, int numDays)
从技术上讲,在C语言中,将不正确的格式字符串传递给printf是一种未定义的行为。

可能有打字错误

Char表示单引号中只有一个字符,如“a”

常量字符串在双引号中,并衰减为char*或字符指针,如下所示

"Hello World"
可能是打字错误

Char表示单引号中只有一个字符,如“a”

常量字符串在双引号中,并衰减为char*或字符指针,如下所示

"Hello World"

这本书是关于objective-c的,他们先教你cPerhaps?这本书是关于objective-c的,他们先教你cPerhaps?