先贴代码
include <stdio.h>
int main() {
char key[]="password";
char b[]={'e','f'};
char c[]={'g','h'};
printf("%s",c);//输出ghefpassword
return 0;
}
导致这样的结果的原因让我们回到printf的运行过程中,读到\0才会终止字符的读取,在上面声明的key,b,c三个变量中,内存是连续的,所以printf会一直读取到出现\0的password\0才会终止
(adsbygoogle = window.adsbygoogle || []).push({});