关于scanf一个变量的覆盖问题

假如你为了省空间,在scanf一个很长的字符串s后,又重复scanf 字符串s,

但是后面的s比前面的s短,那么在s后面一定有没覆盖的原字符串的字符:

那么在取字符串长度时会不会还是原来的s长度而不是新的s长度呢?

答案是否定的;

因为scanf在读入字符串时会在结尾加入一个\0符号,代表结束,

原字符串:ABCDEFGH\0

新字符串:IJKLM\0FGH\0

两个\0,但是在取长度时只会取到第一个\0,那么不会对长度造成影响!

分类:骚操作qwq

一个小技巧

猜你喜欢

转载自www.cnblogs.com/lbssxz/p/11031792.html