我想排序一個命令行參數數組。所有參數都是整數。 這是我的代碼,但它不起作用。在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;
}
}
編譯,當我打電話./a.out 4 3 2 1
後,它仍然打印4 3 2 1
到屏幕上,而不是1 2 3 4
。 有什麼問題?
在此先感謝。
'argv [j] - '0''不會做你認爲它正在做的事情。 –
是的,也許你的意思是'argv [j] [0] - '0'
Gassa
thx這麼多!解決了! – Nicole