从数组中将随机字符串拉入C中的printf

时间:2014-02-12 21:00:05

标签: c arrays string random

所以我正在尝试创建一个程序,它接受用户输入并将其放入一个简短的故事,疯狂的libs风格。我还制作了包含故事中特定元素的数组(角色偷走的项目,敌人的名字,最后死的人等等),以便故事每次都不同;我需要从每个数组中随机地将字符串拉到printf语句中的位置,我知道我需要使用rand()和srand(),但我不确定如何在这里使用它们。

我拥有的例子:

char strNames [6] [10] = {“Eric”,“Stan”,“Kyle”,“Kenny”,“Randy”,“Craig”};

(rand()%6)+1;

printf(“\ n \ t%s”,strNames [iRandName]);

printf(“和他最好的朋友,%s岁的%s”,cAge,cName);

它运行正常,但显然因为我没有完整的rand(),所以每次只从数组中拉出第一个字符串。

*如果你可以告诉我如何在整个程序中保持该数组的随机调用字符串常量,那么可以获得奖励积分;说我再次使用strNames几句后它仍然应该打印第一次调用的字符串,而不是新的随机字符串。

我知道很久的问题,提前谢谢。

1 个答案:

答案 0 :(得分:1)

首先,在程序开头调用srand((unsigned int)time(NULL)),以便为RNG(随机数生成器)播种。

其次,使用rand()%6代替rand()%6+1进行索引,因为索引应该是0到5之间的数字(而不是1到6之间)。