所以继承我的for循环
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故障之前打印出“成功”
答案 0 :(得分:0)
当我把它放入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;
}
并使用g++ test.cc -o test -Wall -Wextra
进行编译我可以毫无问题地执行test
。 (除了凯文所指出的,我看到了失踪的endl
。)
有超过20个输入,它是segfaults(已经指出,因为数组只有20个元素)。