2017-09-08 11 views
0

私は端末でそれを実行するとうまく動作しますが、ループです。 forループはまったく何もしません。私はC++を学んでいるので、あまり分かりません。C++では、端末で実行するとMy forループが機能しません。何か案は?

#include <iostream> 
#include <cstring> 

using namespace std; 
    int main(int argc, char *argv[]) { 
if (argc == 2) { 
    cout << "The first argument is " << argv[0] << endl; 
    cout << "The second argument is " << argv[1] << endl; 

} else if (argc > 2) { 
    cout << "Too many arguments" << endl; 
    exit(0); 
} else { 
    cout << "Only one argument" << endl; 
    cout << "The argument is " << argv[0] << endl; 
    exit(0); 
} 

if (atoi(argv[1]) < 0) { 
    cout << "Error negative number" << endl; 
    exit(0); 

} 
// this loop does not work, everything else does. 

for (int i = 1; i >= atoi(argv[1]); i++){ 
    int count = atoi(argv[1]--); 
    cout << count << endl; 
    int sum = sum + i; 
} 
cout << "The sum is: " << endl; 
return(0);} 

私は、ループをめちゃくちゃにしているif文かもしれないと思います。

+0

forループでは、テスト条件はi> = iの代わりにi <=と考えるべきです。 – Sneha

答えて

0

ifの各条件にexit()という条件があるので、コードがfor loopに届かないと思います。あなたのコードを実行しているときに端末で2つの引数を渡していると、あなたのコードはループに達します

+0

if文を削除しても、ループは全く機能しません。エラーはありません。 – Julio

1

forループで間違っていると思います。 forループで "> ="の代わりに "< ="を使用します。

これはあなたに役立つと思います。

関連する問題