首页 > 解决方案 > 与字符串一起使用时,scanf 宽度修饰符是否考虑了空终止符?

问题描述

例如,此代码是否允许输入此数组可以存储的最大大小的字符串?(来自 scanf 的 255 个字符的输入,然后为添加空终止符留出空间)

char string[256]
scanf("%255s", string);

或者 scanf 函数是否会自动将空终止符添加到输入的末尾,这意味着为了允许 255 个字符加上一个空终止符,我想在 scanf 函数中指定 256 的宽度,就像这样?

char string[256]
scanf("%256s", string);

任何帮助将不胜感激,这是我关于 S/O 的第一个问题,所以如果我做错了什么,请告诉我!:)

标签: arrayscstringcharscanf

解决方案


推荐阅读