C 中%c和%s的区别是什么
何时使用%s而不是%c。 例如:
#include #include int main(void) { char name[31] = "My name is Arnold"; printf(" %c \n", name); return 0; }
如果我将%c更改为%s,我会得到:我的名字是Arnold,但如果将%s更改为%c,我会得到一些奇怪的东西:
▒
将错误的参数传递给格式说明符是未定义的行为 。 因此,您获得了这样一个奇怪的输出。
-
"%s"
需要一个指向以null结尾的字符串(char*
)的指针。 -
"%c"
需要一个字符(int
)。 惊讶吗? 读这个 。
要打印name
第n 个字符,请使用
printf(" %c \n", name[n]);