数据输入和输出操作 IO操作

来源:互联网 发布:php blog 模板 编辑:程序博客网 时间:2024/05/11 15:24

printf(%[-][0][4][.2][f],3.124);-:右对齐 4:占四个字节 0:空位用0填充
.n:表示截取的字符个数 f:输出浮点数

printf("%4d%4d\n", 1, 23);//右对齐,长度为4    printf("%-4d%-4d\n", 1, 23);//左对齐,长度为4    printf("%04d%04d\n", 1, 23);//右对齐,长度为4,且空位用零补齐    printf("%4d\n", 1234567);//整型,超出长度则输出全部位数    printf("%5.2f\n", 0.1211);//总长度为5,小数位为2    printf("%s\n", "helloworld" );//输出字符串    printf("%.2s", "oxoapkoe" );//输出字符串的前两位,右对齐占五个位置    int num = -1;    printf("%d  %u", num, num);//%u 为无符号数,    //输出结果为1 4294967295(是四字节最大值)-1~1000 0...0 0001 存储为11...1    printf("%c",'c');//输出为字符c    printf("%c","c");//实际为'c','\0'        printf("%e\n", 0.001214);//1.214000e-003            printf("%d,%o,%x,%u", -1, -1, -1, -1);//十进制,八进制,16进制,无符号              //答案:-1,37777777777,ffffffff,4994967295```![这里写图片描述](http://img.blog.csdn.net/20170623222449833?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzU3NTEyMzY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)%的转义使用% ,即%%d,其他的转义用\putchar(c);//打印 一个字符<div class="se-preview-section-delimiter"></div>

*#include<> 将在系统默认存放头文件的路径找文件

include “” 在当前目录下找,如果没找到,再到系统默认路径下找*

“`

*#include<> 将在系统默认存放头文件的路径找文件#include "" 在当前目录下找,如果没找到,再到系统默认路径下找*

通过scanf函数可以接受任意的键盘的输入,如果输入的长度超过了应用给定的缓冲区,就会覆盖其他数据区,这称为“堆栈溢出”或“缓冲区溢出”。而且scanf函数有三个特点:
1. 取数据时遇到空格、回车、TAB就会停止;
2. scanf函数和都是从输入流缓冲区中读取数据的,而不是从键盘(终端)缓冲区读取值的。读取时遇到回车\n即结束,且回车\n会被读入输入缓冲数据流中,这样第二次的读入函数将输入缓冲区中的回车\n读取走了,没有等待键盘的二次输入。
3. scanf读取字符串时,会舍弃最后的回车符。
从第二个特点,我们可以看出在上例中,如果输入很长,最后以’\n’结束后,’\n’会覆盖后面的数据区,造成缓冲区溢出。

原创粉丝点击