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
這個程序的意思是讀入字符,直到遇到’ ‘也就是空格結束。
也就是說 可以利用這個來解決 到空格就結束的情況。