为什么我只能输入n-1个字符串
贴出完整源代码,测试用例及其结果,我这里用VS2017测试,没有问题。
这是我按你提供的源代码写的,
void input(char** ps, int n) {
char temp[100];
for (size_t i = 0; i < n; i++)
{
cin.getline(temp, 100);
ps[i] = new char[strlen(temp) + 1];
strcpy(ps[i], temp);
}
}
int main()
{
int n = 4;
char** ps = (char**)malloc(sizeof(char*) * n);
input(ps, n);
for (size_t i = 0; i < n; i++)
{
cout << i << ": " << ps[i] << endl;
}
return 0;
}
测试用例(4行输入):
fsefjo 0dif2109 uf u2398u
jf9 jf9sd jr21980 upfds
jf081u3 298u98u129u4192u 4293p
1
运行输出结果(4行输出):
0: fsefjo 0dif2109 uf u2398u
1: jf9 jf9sd jr21980 upfds
2: jf081u3 298u98u129u4192u 4293p
3: 1