Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 无法将生成的值从for循环传递到结构_C_Structure_Concatenation - Fatal编程技术网

C 无法将生成的值从for循环传递到结构

C 无法将生成的值从for循环传递到结构,c,structure,concatenation,C,Structure,Concatenation,按照我的说法,我正在尝试使用此代码将代码生成的值,即hashname(在第四个循环中生成的变量,a-z的组合,一个四个字符的字符串)传递给结构成员 vcd_xyz[4]='\0'; count = 0; for(int i=0;i<26;i++) { vcd_xyz[0] = 'a'+i; // printf("%d generated variable is initial is = %c \n",i,vcd_xyz[0]);

按照我的说法,我正在尝试使用此代码将代码生成的值,即hashname(在第四个循环中生成的变量,a-z的组合,一个四个字符的字符串)传递给结构成员

vcd_xyz[4]='\0';
count = 0;
for(int i=0;i<26;i++)
    {
        vcd_xyz[0] = 'a'+i;
       // printf("%d generated variable is   initial is  = %c \n",i,vcd_xyz[0]);

        for(int j=0;j<26;j++)
        {
           vcd_xyz[1] = 'a'+j;
          // printf("%d generated variable is  = %c \n",j,vcd_xyz[1]);
         //  puts(vcd_xyz);
          for(int k = 0;k<26;k++)
          {
             vcd_xyz[2] = 'a' + k;
            // puts(vcd_xyz);
             for(int l=0;l<26;l++)
             {
               vcd_xyz[3] = 'a' +l;
               count++;
             sss->Variables[0].hashname = (char*)calloc(strlen((char*)vcd_xyz)+1,sizeof(char));
             strcpy(sss->Variables[0].hashname,(char*)vcd_xyz);
             if(count>(sss->NumVariables))
             {
                break;
             }

              }
          }
        }
    }
vcd_xyz[4]='\0'; 计数=0; 对于(int i=0;不可变) { 打破 } } } } } 但是根据它的输出,只有for循环生成的最后一个值被复制到结构中。我无法理解为什么会发生这种情况。虽然打印时vcd_xyz会打印for循环生成的所有值

Variables
是指向结构的指针
Variable
Name
NumVariables
hashname
是其成员。 结构变量是结构
sss
我已将vcd_xyz声明为一个全局变量。

太多问题:

  • 您从不增加
    计数
    。好吧,你修好了

  • 也许你的意思是
    sss->Variables[count]
    而不是
    sss->Variables[0]

  • 如果(count>=sss->NumVariables),您的条件应该是

  • 对于-循环,您只需将从最内部的中断开

  • 您不需要检查您的
    calloc
    是否失败

  • 这么多问题:

  • 您从不增加
    计数
    。好吧,你修好了

  • 也许你的意思是
    sss->Variables[count]
    而不是
    sss->Variables[0]

  • 如果(count>=sss->NumVariables),您的条件应该是

  • 对于-循环,您只需将从最内部的中断开

  • 您不需要检查您的
    calloc
    是否失败


  • 为什么要使用这个:
    sss->Variables[0]
    。它不应该等于循环运行的次数吗?好吧,让我们假设,
    NumVariables
    将for循环生成的值传递给结构的时间数保持为number,将如何执行?这意味着我没有得到任何线索…为什么要使用这个:
    sss->Variables[0]
    。它不应该等于循环运行的次数吗?好吧,让我们假设,
    NumVariables
    将数字值保留为for循环生成的值传递给结构的时间,如何做到这一点?意味着我没有得到任何线索…#5不能用作hashname,因为hashname最多可以有4个字符,并且正在打印一个变量,但无论如何,我将使用它…#4最内部的循环是生成我所需的所有hashname的循环…#5不能用作hashname,因为hashname最多可以有4个字符,并且正在打印一个变量,但无论如何,我会使用它.#4最内部的循环是生成我所需的所有hashname的循环。。