假如你为了省空间,在scanf一个很长的字符串s后,又重复scanf 字符串s,
但是后面的s比前面的s短,那么在s后面一定有没覆盖的原字符串的字符:
那么在取字符串长度时会不会还是原来的s长度而不是新的s长度呢?
答案是否定的;
因为scanf在读入字符串时会在结尾加入一个\0符号,代表结束,
原字符串:ABCDEFGH\0
新字符串:IJKLM\0FGH\0
两个\0,但是在取长度时只会取到第一个\0,那么不会对长度造成影响!
分类:骚操作qwq
一个小技巧
原文:https://www.cnblogs.com/lbssxz/p/11031792.html