首页 > 电脑

c语言scanf输入字符时用%3c会报栈溢出

更新时间2021-07-10 00:49:52

c语言scanf输入字符时用%3c会报栈溢出

C的char只能是1个字节的字符,而你的scanf的%3c指定了3个字节的宽度,它理论上不能被输入

但编译器不会去判断这种况(也没有人会这么用),它就可能会引起内存溢出(不同编译器处理会不同的),也可能可以正常运行(gcc就不会报错),但结果肯定不是你想要的

scanf的格式化符,必须符合变量的要求,否则结果是“不可预料"的


相关标签:c语言

上一篇:计算:sin[arctan(775/168)]的值

下一篇:使用wei哥会产生依赖吗?