先贴代码
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({});
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有