コマンドライン引数の配列をソートしたい。すべての引数は整数です。 ここに私のコードですが、動作しません。私は./a.out 4 3 2 1
呼ばれたときに、コンパイルした後C++でコマンドライン引数をソート
#include <iostream>
using namespace std;
int main (int argc, char *argv[]) {
for (int i=0; i<argc-1; ++i) {
int pos = i;
for (int j=i+1; j<argc; ++j) {
if (argv[j] - '0' < argv[pos] - '0') {
pos = j;
}
}
char *tempt = argv[i];
argv[i] = argv[pos];
argv[pos] = tempt;
}
for (int i=0; i<argc; ++i) {
cout << argv[i] <<endl;
}
}
、それはまだ代わりに1 2 3 4
の画面に4 3 2 1
を印刷します。 どうしたの?
ありがとうございます。
'argv [j] - '0''はあなたが思っていることをしません。 –
ええ、多分、あなたは 'argv [j] [0] - '0'
Gassa
さようなら!解決済み! – Nicole