輸入格式:
10翻譯為輸入流為:c jj b
c bb b
b cc c
c bj b
b cj j
10\nc j\nj b\n........
while(scanf("%d", &n));
scanf("%c %c", &a, &b);
讀入10後,指標指向了\n,
在使用%c時,是不會跳過空格,製表符,換行符的。
所以讀取的結果是a = '\n';這就與本意不對了。
scanf叫格式化輸入,那麼我們應該使用下面的:
while(scanf("%d\n", &n)
原因:
1.訪問越界;
2.陣列太小;
#include #include #include #include #include #include #include #include #include #include #define size 50000 //題目說資料量不超過10^5,所以設定為10^5/2
//#define size 2 //段錯誤
//#define size 10000 //段錯誤
//#define size 100000 //段錯誤
using namespace std;
int judge(string s1, string s2)
void best(string buf, int n)
int main()//read
printf("%d %d %d\n", cn1, cn3, cn2);
printf("%d %d %d\n", cn2, cn3, cn1);
best(b1, cn1);
printf(" ");
// 乙
best(b2, cn2);
printf("\n");
}//while
return 0;
}
Qt讀取字元資訊亂碼
背景 使用某裝置讀取身份證資訊,在使用裝置自帶sdk在vs2008可以讀取正確,在qt讀取顯示亂碼。原因 vs2008裡面,預設是unicode編碼模式,而qt在windows下面預設是gbk編碼模式,所以顯示亂碼。解決方法 qbytearray byte idcarddata.name qtext...
C 讀取字串
我們在使用鍵盤輸入字串的時候,輸入流對於字串的讀取有幾種不同的實現方式。cin cin 在讀取字串時使用空白 空格 製表符和換行符 來確定字串的結束位置,這說明cin在獲取字元陣列輸入時只能讀取乙個單詞。而讀取該單詞後,cin將該字串放到陣列中,並在結果自動新增空字元。so,在某些時候,我們需要使用...
讀取字串長度
c 關於讀取乙個字串長度 包括空格回車 自用 方法1 include include using namespace std intmain 方法2 include include include include include using namespace std intmain 方法3 inc...