请问在C语言中:char src[] = {"4813,4810,4811,4812"}; 随机取一个值

请问在C语言或Loadrunner中,char src[] = {"4813,4810,4811,4812"};数组
随机取一个值,但不能包括中间的,号。

3个回答

#include <stdio.h>
#include <string.h>
#include <time.h>
int main () {
    char s[] = "4813,4810,4811,4812";
    char* src[100];
    int n = 0;
    char * p = strtok(s, ","); 
    while (p)
    {       
        src[n++] = p;
        p = strtok(NULL, ",");
    }
    srand(time(NULL));
    char * result = src[rand() % n];
    printf("%s\n", result);
    return 0;
}

caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复erperm_zq: https://c.runoob.com/compile/11选择c语言,粘贴进去,可以运行
5 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复erperm_zq: 怎么执行不了?我上机测试通过的
5 个月之前 回复
erperm_zq
erperm_zq 哥,这段代码执行不了!!!
5 个月之前 回复

char get_value(char src[],int n) //n =20 为字符数组里字符的个数
{
int temp;
srand(time(NULL)); // 生成一个种子
tmp = rand()%n+n; //生成一个小于20的随机数
if(src[temp] ==',')
{

printf("%d",src[temp]);
}

}

老哥,src里的元素是字符吧,要是字符的话,就用下面的函数能够获取字符数组的元素

char fun(char c[],int n){
    int i;
    srand(time(NULL));
    i=rand()%n;
    return c[i];
}

如果是字符串数组,就使用字符串数组,可以使用下面的函数:

string fun(string s[],int n){
    int i;
    srand(time(NULL));
    i=rand()%n;
    return s[i];
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问