我是C的新手,但不是编程。我正在尝试创建一个程序,该程序接受输入并使用已保存在数组中的随机字符串进行回复(例如)。
我不是要创建一个随机字符串,我希望它们“固定”,就像在Java中一样:
String [] sa;
sa[0] = "Hello, World";
sa[1] = "Hi dude!";
答案 0 :(得分:5)
const char *sa[]={"Hello, World","Hi dude!"};
然后你可以做
return sa[i];
返回值为char *
只需确保我在界限内
答案 1 :(得分:3)
#include <stdio.h>
#include <stdlib.h>
int main() {
const char *messages[] = {
"Hello!",
"How are you?",
"Good stuff!"
};
const size_t messages_count = sizeof(messages) / sizeof(messages[0]);
char input[64];
while (1) {
scanf("%63s", input);
printf("%s\n", messages[rand() % messages_count]);
}
return 0;
}
答案 2 :(得分:2)
目前还不清楚你究竟想要什么,但这里简要介绍了字符串在C语言中的工作原理。
在C中没有像C一样的数据类型的字符串。你必须使用字符数组。对于字符串数组,您必须使用二维字符数组。
char myStrings[MAX_NUMBER_OF_STRING][MAX_LENGTH_OF_STRING];
答案 3 :(得分:1)
这是你在寻找的东西:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv)
{
char buffer[42];
const char *mytext[] = {"A1", "A2", "A3"};
scanf("%41s", buffer);
srand(time(NULL));
printf("Random text: %s\n", mytext[rand() % (sizeof(mytext) / sizeof(mytext[0]))]);
return 0;
}