2016-04-07 23 views
-6

heres benim içinFor döngüsü için hata teşhisi mi?

string inputName; 
int inputNumServices; 
string inputServices[20]; 
do 
{ 
    cin >> inputName; 
    if(inputName != "$") 
    { 
    cin >> inputNumServices; 
    for(int i = 0; i < inputNumServices; i++) 
    { 
     cin >> inputServices[i]; 
    } 
    cout << "success"; 
    } 
} 

döngüler Ve döngü içinde tüm girişlerde koyduktan sonra bana bir seg arıza veriyor. ben test.cc

#include <iostream> 
using namespace std; 
int main() { 
    string inputName; 
    int inputNumServices; 
    string inputServices[20]; 
    // I removed the "do" here, as commented by Nicky C 
    { 
    cin >> inputName; 
    if(inputName != "$") 
    { 
     cin >> inputNumServices; 

     for(int i = 0; i < inputNumServices; i++) 
     { 
     cin >> inputServices[i]; 
     } 
     cout << "success"; 
    } 
    } 

    return 0; 
} 

içine bu koyduğunuzda seg arıza

+1

InputServices'ı nasıl bildiriyorsunuz? – songyuanyao

+0

az önce güncelledim –

+1

"Tüm girdiler" i tanımla. Bu programı çalıştırdığınızda yazdığınız numara nedir. –

cevap

0

önce "başarı" çıktısını ve sorunsuz test yürütebileceği g++ test.cc -o test -Wall -Wextra ile derleme değil çünkü biliyorum. (Kevin tarafından belirtildiği gibi eksik endl göründüğünden başka.)

20'den fazla girdiyle, segfaults (zaten işaret edildiği gibi, dizinin yalnızca 20 öğesi vardır).

İlgili konular