printf不支持%lf】的更多相关文章

#include <stdio.h> int square137(int n); void p137() { double x = 3.0; int y = (int)x; printf("Square of %f is %d\n", x, square137(y)); } int square137(int n) { return n * n; } 如果你吧%f改为%lf的话,输出就会出乎你的意料,试试便知…
之前没有注意过这个问题,  转自: http://book.51cto.com/art/200901/106880.htm 问:有人告诉我不能在printf中使用%lf.为什么printf()用%f输出double型,而scanf却用%lf呢? 答:printf的%f说明符的确既可以输出float型又可以输出double型. 根据"默认参数提升"规则(在printf这样的函数的可变参数列表中 ,不论作用域内有没有原型,都适用这一规则)float型会被提升为double型.因此print…
[题外话] 以前用HUSTOJ给学校搭建Online Judge,所有的评测都是在Linux下进行的.后来为了好往学校服务器上部署,所以大家重新做了一套Online Judge,Web和Judge都是基于Windows和.NET平台的.这两天将学校Online Judge中以前在Linux下(GCC 4.6.3)评测的提交全部在Windows上(GCC 4.7.2 MinGW)重测一遍,结果莫名其妙发现很多以前通过的题目现在出现了结果错误的问题,其共同结果都是结果为0,查看源代码发现其都是使用p…
一.puts() 函数详解 puts()函数用来向 标准输出设备 (屏幕)写字符串并换行,调用格式为: puts(s); 其中s为字符串变量(字符串数组名或字符串指针). puts()函数的作用与语 printf("%s\n", s) 相同. #include <stdio.h> #include <string.h> int main(int argc, char **argv) { char s[20], *f; strcpy(s, "Hello…
学习Esperanto时用到一款叫做Kajero的软件,支持世界语特殊字符编辑. 在Option菜单中有个选项,End of line 列出了四种换行方式 这四种都是由基本CR和LF组成.那么CR和LF分别代表了什么意义呢? 针对这个问题,我决定从CR与LF本身的词源展开调查. CR,英文全称叫做Carrige Return,中文直译“回车”(真的是“直译”~~~) LF,英文全称叫做Line Feed, CR与LF并非是计算机专业术语,而是打字机时代术语. 早在计算机发明之前,有一种电传打字机…
写了一个简单的程序,但是考虑到有一些信息是需要打印在控制台上的,就像在windows上启动apache tomcat时控制台显示的信息一样.琢磨一会儿之后,对printf进行了封装,支持控制台打印日志,支持输出到文件里.不过控制台都是固定颜色的,不好看.于是在网上找了一下资料,printf还真支持输出不同的颜色,如下: 实例:printf("\033[1;33m Hello World. \033[0m \n"); \033      [1;        33m          …
使用printf打印时发现,如果数据类型和打印使用的类型不一致,结果就是混乱的. 这是因为printf本身并不进行数据的类型转换,他只是把输入按照给定的数据格式输出,如果二者不匹配,那么由于不同数据类型的二进制存储方式不一样,读出的数据就是错误的. 所以,为求稳妥,在使用printf,fprintf,scanf,fscanf在类型不一致时还是手动转化吧! printf("%f\n",1.3); printf("%d %f\n",1.3,1.3); 打印结果: 1.3…
一  基本用法 格式化控制符:%d %c %ld %lf 意思是:相当于在要输出的语句里面挖了一个坑,也就是在内存中开辟空间,然后再那个坑的位置(也就是开辟好的空间),填上你想要显示的值 printf("%d\n",age); printf("%c\n",ch); printf("%f\n",f); printf("%ld\n",lNum); printf("%lf\n",d); %d:代表挖一个int类型…
本文参考自:http://www.yulongjun.com/linux/20170518-08-lf-cr/ 我们打开Visual Studio Code编辑器,可以看到右下角有这个LF,这是VS Code的默认行尾序列的符号: 点开后,我们可以到,有两种模式可选,LF,CRLF: 为什么是这样呢,这两种模式有什么区别呢? 在Linux下,默认换行的话,是LF模式,见下图两个红框部分: Linux下创建的LinuxFIle文件,用Linux的编辑器在里面写了三行文本.然后我用Python显示出…
我们在c++ 中使用cin cout很方便但速度很慢,导致有些题目用cin就超时而用scanf则就ac了,那到底改用谁? cin慢是有原因的,其实默认的时候,cin与stdin总是保持同步的,也就是说这两种方法可以混用,而不必担心文件指针混乱,同时cout和stdout也一样,两者混用不会输出顺序错乱.正因为这个兼容性的特性,导致cin有许多额外的开销,如何禁用这个特性呢?只需一个语句std::ios::sync_with_stdio(false);,这样就可以取消cin于stdin的同步了.…