无论如何我可以计算出这个数组中的元素数量吗?

时间:2016-02-11 03:30:05

标签: c++ arrays

#include <iostream>
#include <string>
#include <time.h>

using namespace std;

int main(){
    srand (time( NULL));
     const char* words[] = {"Sunday", "Monday", "Tuesday", "Wedensday", "Thursday", "Friday", "Saturday"};


    int Randnum = rand() % 6;
    cout << words[Randnum] << endl;


}

所以基本上我想要的是,我想拥有一个随阵列变化的变量而不是那个int Randnum = rand() % 6 ;。像int Randnum rand() % totalwords;这样的东西。我尝试使用sizeof(words但这只有在我知道每个单词占用多少字节时才有效。有什么方法你们可以想到这会让我把每个单词都算作1项,所以当数组增长时,随机数范围也会这样吗?

2 个答案:

答案 0 :(得分:5)

使用此:

sizeof(words)/sizeof(words[0])

会给你7.

并且int Randnum = rand() % 7会给出0到6之间的随机数,words[Randnum]是一周中的随机日。

答案 1 :(得分:0)

尝试

sizeof(words)/sizeof(char *)

由于words中的条目为char *words的总大小将是存储7个字符指针的字节数