C语言学习
前言
博客建立三年有余,此刻终于迈上了其最为广泛的用途:记录技术笔记
在这个全网唱衰行业、我也早已见识过agent与vibecoding的强大的时间,写这些笔记我也是五味杂陈,然而既来之则安之……
这篇博客不会是一篇很系统的C语言教程,只是记录我学习过程中的疑难杂症或是值得记录的知识点。
读取字符函数
多余的字符如未处理会留在缓冲区或导致溢出。
scanf:了解的第一个读取函数。遇到空格即停止读取(仅限%s读字符串时),不会将换行符保留在读入的数据中。(!用户使用换行结束而非EOF时会残留一个换行符在缓冲区中)
fgets:读字符串和文件推荐,能够正常读取空格。
换行符会留在数据末尾,故使用时需要手动将其从读到的数据中剔除。(具体怎么去掉还是个TODO)
写法为
fgets(获取数据的指针,读取长度,指定读取流),其中,初学阶段读取流一般写stdin(从键盘读取)需要注意的是,由于字符串结尾有
\0,故实际上只能读入n-1个字符。以下两者读入的类型均为int,即保存字符值(目前理解为ASCII码),故不能用来直接读入整数值
fgetc:读单字符推荐,写法为
x = fgetc(读取数据流)getchar: 读单字符最推荐,等价于fgetc(stdin)
你奶奶个腿的OJ的判断数据能不能不那么阴啊,有时带空格有时不带空格的逼着人用scanf。。。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 叉息的空中咖啡馆!
评论



