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

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

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

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

答案是否定的;

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

原字符串:ABCDEFGH\0

新字符串:IJKLM\0FGH\0

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

分类:骚操作qwq

一个小技巧

posted @ 2019-06-16 15:54  李白莘莘学子  阅读(690)  评论(0编辑  收藏  举报