在C中返回2d char数组

时间:2015-12-30 13:51:55

标签: c arrays function char

我想将2D char数组作为函数的输入(实际上我的2D数组是全局的,函数没有输入),更改其中的值然后返回另一个2D char数组。 / p>

char stoixeia[50][7];
int main(int argc, char *argv[])

。 。

if (strcmp(answer, "Gift")==0) 
        {
            gift();
        } 


char gift ()
    {
     int i,j,m;
     int wrong=0;
     int k=0;
     char usern[50];
     while(wrong=0)
    {

     printf("Enter the username that you want to Gift:\n");
     scanf("%s", &usern);
     for (i=0; i<50; i++)
    {
     if (*usern==stoixeia[i][0])
     {
     wrong=1;
     k=i;
     }
     }

     }  
      m=strlen(usern);
      for(i=0; i<m; i++)
      {
        stoixeia[k][6]= stoixeia[k][6] + 10;
      }



      return stoixeia[50][7];

     }  

我的想法是,如果我将我的数组声明为全局数组,那么我的函数中的所有内容都会发生变化,数组将会更新&#34;更新&#34;。编译器没有显示任何错误,但是当我运行程序并且我的answerGift时,.exe停止工作。你能告诉我什么吗?谢谢

2 个答案:

答案 0 :(得分:1)

你的功能必须是这样的:

您无需返回值,因为您直接更改了全局变量。

ODS_Codes.SelectParameters["sortExpression"].DefaultValue

答案 1 :(得分:1)

如上所述,使用**gift()请参阅here了解更多信息