0

これが私のコードです:(C++)

#include <iostream>
#include <stdlib.h>
using namespace std;
int main(){
    string sentence[9];
    string word[9];
    inb b[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
    int f = 0;
    for (int i = 1; i <= 10; i += 1){
        cin >> sentence[i - 1];
    }
    for (int a = 10; a > 1; a = a - b[f]){
        b[f] = 0;        
        int f = rand() % 10;
        b[f] = 1;
        word[f] = sentence[f];
        cout << world [f] << endl;
    }
}

ただし、これを実行すると「実行時エラー」が発生します。それだけです。行もエラーもありません。何もない。

"[]" 内で f を使用すると、word[f] や b[f] のようなコードの下部にある配列が機能しません。

コードをテストするためにすべての「f」を [1] に変更すると、機能します。しかし、代わりに「f」を使用すると、実行時エラーが返されます。

それが私のコンパイラかどうかはわかりません。でもねえ - 私は生後 2 日の C++ コーダーです。

4

3 に答える 3

3

あなたsentenceは9つの「スロット」の大きさです( に対処sentence[0]sentence[8]sentence[9]10 番目のスロット ( )に何かを入れようとしましたが、これはダメです。

(このパターンは以下で繰り返されますword。)

ほとんどの場合、これらの配列を 10 要素の配列として宣言する必要があります。

于 2013-10-09T03:29:39.513 に答える