c - 从 c 中的数组中删除一张卡片

标签 c

所以我编写了一个程序,它将一副纸牌中的每张纸牌分配到一个数组中。我被要求制作一个随机播放功能、displayCard 功能以及一个 dealCard 功能。我真正感到困惑的是 dealCard 函数。我不明白从牌堆中发牌/拿牌并且不再将其放入 deck[] 的概念。

最佳答案

而不是将纸牌视为 char deck[SIZE],将纸牌重新定义为

char deck[SIZE];
int deck_count;

或者作为一个结构:

typedef struct {
  char deck[SIZE];
  int n;
} stock;

然后创建函数来操纵股票:

void stock_newdeck(stock *st);  // fresh deck of 52 cards: ordered
void stock_shuffle(stock *st);  // shuffle the n cards
int  stock_isempty(stock *st);  // any cards left?
char stock_draw(stock *st);     // draw the top card

关于c - 从 c 中的数组中删除一张卡片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22851335/

相关文章:

c - 在 Fortran 和 C 之间传递字符串

c - 为 GCC 运行 "light"预处理器

objective-c - 循环直到在 Objective-C 中达到多个条件

c - 遍历分配的内存时出现段错误

C、当调用函数的参数不满足被调用函数的参数需要时

编译时结构大小检查,如果奇数则出错

c++ - 跨 C 和 C++ 标准的可靠类型双关

c++ - 什么是 g++-3/gcc-3?

c - 如何解决 C : 'can' t find a register in class 'GENERAL_REGS' while reloading 'asm' ' 中的内联汇编错误

c - 我什么时候必须有空?