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