你好。这是难题。我有这个代码:
#include<stdio.h>
#include<conio.h>
#include<string.h>
int main(){
char a[5];
char b[5];
memset(a, 0, 5);
memset(b, 0,5);
strcpy(a, "BANG");
printf("b = ");
scanf("%s", &b);
printf("a = %s\n", a);
getch();
}
当你运行它时,你会注意到如果你将足够长的字符串读入b
, 的值a
也会改变。你会期望它保持“BANG”,但事实并非如此。我想对此作出解释。谢谢!