【问题标题】:How do you pass a character array你如何传递一个字符数组
【发布时间】:2015-09-28 01:34:00
【问题描述】:

我想在 c 中传递一个字符数组,即 String

int main()
{
    const   char c[]="Joseph";

    TestWord(&c,&c);
    return 0; 
}

int TestWord(char tiles[], char  word[])
{
    return tiles; 
}

【问题讨论】:

  • 字符数组不是字符串。但是一个字符串存储char的数组中。你有什么问题?
  • const char *TestWord(const char tiles[], const char word[]) , TestWord(c, c);
  • @Olaf 如何将“char”数组从“TestWord”传递给“main”?

标签: c arrays string int parameter-passing


【解决方案1】:
#include <stdio.h>

char *TestWord(char tiles[], char word[]);


int main()
{
     char c[]="Joseph";
     char r;


    r = *TestWord(c,c);

    return 0;
}

char *TestWord(char tiles[], char word[])
{
    return tiles;
}

您可以通过不带&amp; 的数组,因为数组不需要它们,因为它们已经有点像指针,就像您将scanf 不带&amp; 符号的数组一样。

不要忘记,如果您返回 tiles,您应该将其保存在一个变量中。

【讨论】:

    【解决方案2】:

    您可以通过多种方式在 C 中传递字符串(字符数组)。 此代码将字符串 a 传递给函数 PRINT。请注意,在此方法中,数组的基地址会发送给函数。

        #include<stdio.h>
    
        void PRINT(char b[])
        {
            printf("%s",b);
        }
        int main()
        {
           char a[]="hello";
           PRINT(a);
           return 0;
        }
    

    【讨论】:

      猜你喜欢
      • 2012-02-27
      • 2011-07-14
      • 2011-01-12
      • 1970-01-01
      • 2010-12-14
      • 2011-07-25
      • 2012-07-17
      • 2010-09-12
      • 2013-03-29
      相关资源
      最近更新 更多