格式化输入和输出

来源:互联网 发布:大数据分析工程师职称 编辑:程序博客网 时间:2024/05/10 15:45
    printf ,scanf,standerd input stream,standerd output stream,gets,puts,getchar,putchar 

都包含在头文件stdio中//(standerd input,standerd output)的缩写,同理stdin//就是standerd input
第一 带域宽和精度的打印

域宽(Fileld width)就是指:打印区域的准确大小(右对齐,加负号就是左对齐)

精度:表示要打印的最少的数字位数。(如果将要打印的数字小于精度,同时精度前面带有若干个零或者小数点,则再打印出来的数值前加入若干个零,以确保位数与精度相等;若不带零或小数点则用空格代替)
代表域宽的一个整数,将被插入到百分号与转化字符中间,精度也一样。

printf("%9.3f",123.23656);输出:   123.236

这里要提示一下\t 就是把光标右移一个TAB(水平制表符)的位置。

scanf("%100[^\n]",a);

这个的意思就是一直到\n才结束,网上的例子是
%[^a] 匹配非a的任意字符,贪婪性
从下面两个小程序可以看出它的意思。

#include <stdio.h> main() { char a[256];  scanf("%1024[^\n]", a); printf("%s\n",a);}输入:asfdj j;asdlkf aslkdjf sdajkfjsa;ldjflk;asjf输出:asfdj j;asdlkf aslkdjf sdajkfjsa;ldjflk;asjf

这个程序的意思是读入字符,直到遇到’\n’也就是回车结束。

#include <stdio.h> main() { char a[256];  scanf("%1024[^ ]", a); printf("%s\n",a);}输入:asfdj j;asdlkf aslkdjf sdajkfjsa;ldjflk;asjf输出:asfdj

这个程序的意思是读入字符,直到遇到’ ‘也就是空格结束。
也就是说 可以利用这个来解决 到空格就结束的情况。

0 0
原创粉丝点击