c - 我只想在数组的每一行中输入一定数量的元素。我怎么做?

标签 c

我试图仅将一定数量的元素输入到这个二维数组中,如下所示:

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/

相关文章:

C 数组 malloc() VS {}

c - C工程编译的时候怎么最后没有创建main.o?

c - 如何从 C 中的 IPv4 地址获取主机名?

c - 访问 C 中的结构成员有多快?

c - *(&ptr) 和 *(ptr) 之间有什么区别

c - 变量声明和定义

c - 生成随机数

c - C语言如何将2字节二进制转换为整数

c - 理解c中的链表结构

c - 流浪\[反斜杠]在C代码中有什么意义吗?