刚写了一道算法题,我用的是double类型的数据,输出用的是%lf,结果总是报错,后面发现改成%f就通过了,再去深究,才发现这个细节,所以做下笔记。
首先,来看一下scanf和printf的输出格式:
对,你没看错,scanf中对于float和double类型是有区分的,即前者是用的%f
,后者是用的%lf
,但是到了printf,则统一都是%f
,对于这个小细节,我自己用的编译器——jetbrain中的clion好像是自动处理,并没有给我报错,所以我之前一直都是以为scanf和printf都是一样的处理方法,但是刷算法题的时候,OJ系统好像就不一定能处理这样的问题了,所以以后最好还按照上面的标准来
文章评论