如何在c中增加2d char数组元素大小的大小

时间:2013-11-17 04:54:30

标签: c arrays string char multidimensional-array

char symbol[100][100];
for(i=0;i<n;i++)
    {
       printf("enter the symbol\n");
       scanf("%s",&symbol[0][i]);   
    }
strncat(&symbol[0][0],"1",1);

输出 对于前: - 在符号[0] [0]中,我输入了&#39; a&#39;

strncat(&symbol[0][0],"1",1);    

应将输出设为 a1 buti知道符号[0] [0]的大小是1个字节,这就是为什么它只显示输出 a 如何增加符号[0] [0]的大小,以便它能显示所需的输出 a1

2 个答案:

答案 0 :(得分:1)

试试这个

strncat(symbol[0],"1",1);

int main()
{
    int i,n=1;
    char symbol[100][100];
    for(i=0;i<n;i++)
        {
           printf("enter the symbol\n");
           strcpy(symbol[0],"a");  
        }
    strncat(symbol[0],"1",1);
    printf(symbol[0]);
    return 0;
}

根据需要进行更改.. :) ..

答案 1 :(得分:0)

a1由字符a和字符1组成。因此,如果您想要一个双字符宽符号矩阵,您可以声明一个像

这样的3D数组
char symbol [100][100][2];

然后

scanf("%c%c", &symbol[0][i][0], &symbol[0][i][1]);

BTW:嗯,你引用的单个elementsymbol可以由内部类型的C / C ++的基本元素或符号组成。那么问题a1是变量名还是值?