所有輸入(程式碼形式)

Euan?發表於2024-08-07

include<bits/stdc++.h>

using namespace std;
char ch[10];
int a;
int main(){
scanf("%s %d",ch+1,a);
//scanf丟棄開頭空白字元
//緩衝區之間遇到空格認為讀取完畢一次
//緩衝區末尾換行符\n滯留
//%d int *
//%u unsigned int *
//%o int *
//%x int *
//%f %e %g float *
//%lf %le %lg double *
//%c char *
//%s char *(字串)
//%% 讀入%符號

//注意! %c特殊,會讀取所有空白字元,包括開頭空格、Tab 換行
//scnaf讀入沒有邊界,可能陣列越界
gets(ch);
//從stdin讀取一行
//所有空格 Tab都被讀入
//換行符\n被丟棄
//gets()也沒有邊界,可能溢位
fgets(ch,sizeof(ch),stdin);
// 讀入空白 Tab ,讀入換行符,自動加入結束符\0
//指定範圍,安全
ch[1]=fgetc(stdin);
//所有空格、Tab、換行等空白字元,
//無論在緩衝區開頭、中間還是結尾,均會被讀取,不忽略。
//一次只讀入一個,剩餘輸入滯留在緩衝區
ch[1]=getchar(); 
//由fgetc宏定義而來,輸入流為stdin
cin>>ch;
//cin,標準輸入流,最親切的一種
//大家都很熟悉了。 

}

相關文章