何时使用%s而不是%c.例如:
#include <stdio.h>
#include <string.h>
int main(void) {
char name[31] = "My name is Arnold";
printf(" %c \n", name);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我将%c更改为%s,我会得到:我的名字是Arnold,但如果将%s更改为%c,我会得到一些奇怪的东西:
?
Run Code Online (Sandbox Code Playgroud)
将错误的参数传递给格式说明符是未定义的行为.因此,您获得了这样一个奇怪的输出.
"%s"期望一个指向以null结尾的字符串(char*)的指针.
"%c"期待一个字符(int).惊讶吗?读这个.
要打印第n 个字符name,请使用
printf(" %c \n", name[n]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7340 次 |
| 最近记录: |