私はまだC++の新機能ですので、これは愚かな質問かもしれません。下のコードでは、なぜ私は符号付きの文字にインデックスの種類を変更すると、index > 25
がtrueと評価されます。符号付きの文字は1バイトの整数ではありませんか?C++ - 異なるデータ型を評価する
#include <iostream>
using namespace std;
char lowercase [26] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int main() {
short index;
cout << "Enter a number 0 to 25: ";
cin >> index;
if (index > 25 || index < 0) {
cout << "That number is out of range." << endl;
return 0;
}
cout << "The lowercase letter for this number is " << lowercase[index] << "." << endl;
return 0;
}
なぜ 'int'が' short'を使用していますか? – tadman
あなたが入力している値、または実際に 'index'が受け取っている値は何も言いませんでした。 'cin >>'が成功するか失敗するかはチェックしていません。 –
なぜ私は 'int'の代わりに' short'を使うのか分かりません。 –