下面是我的循环
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";
}
}
在将所有输入输入到for循环后,它给了我一个seg错误。我知道,因为它不会在seg故障之前打印出"成功"
当我将其放入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;
}
并且用CCD_ 2编译,我可以毫无问题地执行CCD_。(除了我看到Kevin指出的丢失的endl
。)
对于超过20个输入,它会分段故障(正如已经指出的,因为数组只有20个元素)。