printf("%s and %s", a, b) 为何无法输出b的值?
// input: hello world// output:
// hello
// world
// hello and Hi
// hello and
int main() {
char *a, *b;
scanf("%s %s", a, b);
printf("%s\n", a);
printf("%s\n", b);
printf("%s and %s\n", a, "Hi");
printf("%s and %s\n", a, b);
}
// output:
// hello
// world
// hello and Hi
// hello and world
int main() {
char *a = "hello";
char *b = "world";
printf("%s\n", a);
printf("%s\n", b);
printf("%s and %s\n", a, "Hi");
printf("%s and %s\n", a, b);
}
我想知道为何第一段的 printf("%s and %s\n", a, b); 输出结果 不是 "hello and world", 而是 "hello and"