我该怎么做?在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;
}
答案 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*