c - 在C中,如何以随机顺序打乱数组索引的指针
问题描述
我正在尝试创建一个函数来使用学校作业的指针对整数数组进行洗牌,我对 c 比较新,所以我不确定应该如何正确完成它。
下面是我到目前为止尝试过的代码,但是我得到了很多转换错误,或者错误告诉我 cards[] 不是数组。
void ShuffleDeck(cards[52]){
int temp;
int *firstIndxPtr ;
firstIndxPtr = cards[0];
int *randIndxPtr1;
for (int x = 52; x > 0 ; x--){
randIndxPtr1 = cards[rand() % x];
temp = (int) randIndxPtr1;
randIndxPtr1 = firstIndxPtr;
(int) firstIndxPtr = temp;}
}
解决方案
由于这是您的任务,您需要了解指针及其指向的值,您应该为指针使用以下值之一。
firstIndexPtr = &cards[0];
firstIndexPtr = cards;
而且您不能将数组 cards[52] 作为函数参数传递,它应该类似于
void ShffuleDeck(int *cards, int number_of_cards)
{
}
推荐阅读
- java - Lucene MultiFieldQueryParser 不起作用
- html - 如何在图像向右浮动时使文本重叠
- python - 如何改进这个交替迭代器的 Python 3 代码?
- c# - 是 IEnumerable
, 任务 和 IDisposable 在 C# 编译器中硬编码? - database-normalization - 数据库表结构的正确格式是什么
- javascript - 向用户显示消息
- vba - VBA。使用另一个工作簿作为模板创建新工作簿并从列表中命名每个新工作簿
- html - 你如何制作一个与标题重叠的多边形形状?
- excel - Excel 范围格式未按预期呈现(转换问题)
- c++ - 如何创建 LPOLESTR 类型的变量或常量?