C中带有几个句子的数组

时间:2015-09-13 10:56:18

标签: c arrays swift swift2

我该怎么做?在Swift 2中,我做了类似的事情:

let test = [
    "I'm a sentence.",
    "Me too.",
    "What am I?",
    "I'm whatever"
]

print(test[1])

我如何在C中做同样的事情?

我尝试了以下内容:

#include <stdio.h>
#include <string.h>

int main()
{
 const char strings[] = {
        "I'm a sentence.",
        "Me too.",
        "What am I?",
        "I'm whatever"
  };
  printf("%s", strings[1]);
  return 0;
}

2 个答案:

答案 0 :(得分:6)

示例

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
  const char *strings[] = {
        "I'm a sentence.",
        "Me too.",
        "What am I?",
        "I'm whatever"
  };
  printf("strings[1]: %s\n", strings[1]);
  return 0;
}

<强>输出

$ ./test 
strings[1]: Me too.

答案 1 :(得分:1)

好吧......首先,要了解这里发生了什么:

"me too"本身就是一个字符数组,所以每个句子都放在上面。 此外,char* 指向到句子中的第一个字符。

您的问题: 你没有创建一个包含所有句子的数组(也就是每个句子每个第一个字符处的点数),而是定义了char strings[]这是一个字符数组,AKA只指向一个句子({{1}记得吗?)

但是,您应该声明一个 char * 数组,因此您将拥有:

char*