我试图仅将一定数量的元素输入到这个二维数组中,如下所示:
AEF
FECCF
ERE
RRGT
EHWEG
当前循环执行以下操作:
for(loop = 0; loop < routines; loop++)
{
for(j = 0; j < MAX; j++)
{
scanf("%c", &danceRoutines[loop][j]);
}
}
这是我必须在元素中扫描的代码。据我所知,这使得我在列中输入最大数量的元素(MAX = 26)。如何才能在输入小于 MAX 的元素数后,允许我进入二维数组的下一行?谢谢
最佳答案
这就是实现此方法的方法。创建一个 char**
数组 danceRoutines
,它将指向字符串,然后分配输入的每个新字符串的地址用户访问循环内的 danceRoutines[i]
。
int routines=5,loop;
char **danceRoutines=(char**)malloc(sizeof(char*)*routines);
for(loop = 0; loop < routines; loop++)
{
char *s=(char*)malloc(sizeof(char*));
scanf("%s",s);
danceRoutines[loop]=s;
}
然后通过迭代数组 danceRoutines
//display
for(loop = 0; loop < routines; loop++)
{
printf("%s\n",danceRoutines[loop]);
}
关于c - 我只想在数组的每一行中输入一定数量的元素。我怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36267964/