C语言新手求助。请问如何输入一组多行的数字,每行的长度可以任意

程序要求是首先输入一个数字确认行数,然后在每一行输入一组整数(长度是由输入者输入的数字个数决定),我想用二维数组键入,这一部分的代码如下
int num[310][310];
int main()
{
int T;
int i;
int n=0;
int is = 0;
int sum = 0;
scanf_s("%d", &T);
for (i = 0; i < T; i++)
{
for (int j = 0; j < 310; j++)
{
scanf_s("%d ", &num[i][j]);
char ch = getchar();
if (ch=='\n')
{
num[i][j] = '\0';
break;
}
但是并没有成功,请问有什么办法可以成功键入多组不同长度的数据

我实现了!!!!!!!!!!!!!!
#include
#include
#include
using namespace std;
int main()
{
int n;
char num[310][310];
char swap;
cin>>n;
for(int i=1;i<=n;i++)
{
if(i==1)
scanf("%*c");
scanf("%c",&swap);
int j=1;
while(swap!='\n')
{
num[i][++j]=swap;
scanf("%c",&swap);
}
num[i][0]=j;
}
for(int i=1;i<=n;i++)
{
for(int j=2;j<=num[i][0];j++)
printf("%c",num[i][j]);
printf("\n");
}
return 0;
}

num怎么定义的?你如果可以估算出每个维度的最大长度,可以用它作为第二维数组的长度(或者超出一点)
也可以使用链表,实现真正意义的长度可以任意

我也是新人。
二维数组的话,数组的大小要是确定的。
所以你那个i<T是错误的,不能那样用。
你可以把两个长度取大一点。
或者采用其他思路(我再看看)。
或者用动态数组,好像是vector吧。
(这块我还没仔细学到,建议你去看看)。

可以先把输入的数据收集起来,然后再分解。

getchar是会吃掉换行符的,所以你想判断是否有换行是行不通的