printf函数中用到格式符%5s其中数字5表示输出的字符串占用5列如果字符串长度大于5输出按方式
问题更新日期:2024-10-29 15:25:29
问题描述
printf函数中用到格式符%5s其中数字5表示输出的字符串占用5列如果字符串长度大于5输出按方式,麻烦给回复
- 精选答案
-
有趣,一句话来回答就是,printf会按照顺序从栈里面读取数据输出。因为函数参数是通过栈传递的,如果参数不够,就会打印出内存里面的一些垃圾数据了。
至于栈和函数参数传递等等一堆知识就比较复杂了,一句话聊不完。题主可以这么认为,函数参数放在一个数组里传给printf,然后printf依次读出来打印。但是数组不够长,就读到其他内存了。
如果题主还想知道更多,比如打印出来的垃圾数据到底是什么意思,这个比较复杂,需要逆向调试才能确定,就不要瞎猜了。
真的有兴趣了解的话,可以尝试学一学二进制安全。专门有一类漏洞是因为printf的这种特性引起的,我们一般称之为格式化字符串漏洞。这个就很有意思了。
- 其他回答
-
%5s其中的5不是表示占据5列,%s是字符串的输出符号。%s输出字符串的时候,相当于地址会自动加1,意义就是你所要输出的字符串的指针变量,比如 printf(
"%5s
猜你喜欢内容
-
简单网:构建全网教育数据枢纽,让知识检索化繁为...
简单网:构建全网教育数据枢纽,让知识检索化繁为“简”回答数有0条优质答案参考
-
去三亚有什么好玩的地方
去三亚有什么好玩的地方回答数有1条优质答案参考
-
石狮一日游必去景点推荐
石狮一日游必去景点推荐回答数有1条优质答案参考
-
电气工程师的证书考取条件是什么
电气工程师的证书考取条件是什么回答数有1条优质答案参考
-
房地产估价师的具体报考条件有啥
房地产估价师的具体报考条件有啥回答数有1条优质答案参考
-
房产经纪人的工作内容具体包含什么
房产经纪人的工作内容具体包含什么回答数有1条优质答案参考
-
学习小提琴都有哪些难点
学习小提琴都有哪些难点回答数有1条优质答案参考
-
企业行政管理证书的含金量怎么样
企业行政管理证书的含金量怎么样回答数有1条优质答案参考
-
初学者要怎么入门小提琴
初学者要怎么入门小提琴回答数有1条优质答案参考
-
报考珠宝鉴定师要啥条件
报考珠宝鉴定师要啥条件回答数有1条优质答案参考
















