我想知道,爲什麼在我的打印結束時總是有10個。打印char數組後,爲什麼會出現10?
我想輸入一個字符串的空格,然後打印出所有的字符。
輸入:hello
輸出:104 101 108 108 111 10
應該輸出:104 101 108 108 111
unsigned char input[256];
fgets(input,sizeof(input),stdin);
for(int i = 0; input[i] != '\0'; i++) {
printf("%u ",input[i]);
}
嗯,當你鍵入...時,注意你的手指是他們碰到'o'還是別的什麼的最後一個鍵? – 2014-09-23 19:23:57
答案提到10是爲ENTER鍵傳遞的字符的編碼是正確的,除了它們引用ASCII。我們不知道你的控制檯正在使用什麼字符集和編碼,但它可能不是ASCII。按照設計,許多字符集是ASCII的超集,其大部分編碼與公共子集的ASCII相同。通過Linux中的'locale'和Windows中的'chcp'找出你真正使用的是什麼。並且,請記住,您的程序的使用可能會使用不同的東西。 – 2014-09-23 23:47:50