我怎样才能选择一个在C字符数组随机元素?
例如:
char *array[19];
array[0] = "Hi";
array[1] = "Hello";
等等
我寻找类似阵列[兰特],其中兰特为O且所述阵列的长度之间的随机整数数(在此情况下20)样1,2,3,19等。
我怎样才能选择一个在C字符数组随机元素?
例如:
char *array[19];
array[0] = "Hi";
array[1] = "Hello";
等等
我寻找类似阵列[兰特],其中兰特为O且所述阵列的长度之间的随机整数数(在此情况下20)样1,2,3,19等。
要开始做事了,因为你有一个字符串数组的不是字符,你必须把它作为申报char* array[19];
然后,你可以声明如下(总是有用的)宏
#define ARR_SIZE(arr) ( sizeof((arr)) / sizeof((arr[0])) )
最后,你可以选择arr[rand() % ARR_SIZE(arr)]
同时牢记执行%
对rand()
是不是做得到的范围内的随机数的正确方法。
int n = rand()%20;
printf("%s\n", array[n]);
你可以试试阵列[兰特()%ARRAY_LEN],但你会得到一个单一的字符,而不是一个char*
当你正在做的数组[0] =“您好”; 这不是正确的,因为你要分配到一个char
一个char*
或者把你的char array[20]
成char *array[20]
你可以指定字符的字符串
建议你有什么是最好的解决方案 - 选择一个随机指数,然后使用这个元素索引处。 如果你的问题是如何得到一个随机整数,使用内置函数rand()
这可以在C库stdlib.h中使用兰特完成
你可以得到这样一个随机数:
炭random_elem =阵列[兰特()%20];
你可以把它打印出来是这样的:
的printf( “%d”,阵列[兰特()%20]);