5-11.c

来自「一本经典书籍--C程序员成长攻略的原代码」· C语言 代码 · 共 50 行

C
50
字号
struct card
{
	int pips;
	char suit;
};

main()
{
	struct card desk[52];
	int i;
	
	for(i=0; i<13; i++)
	{
		assign_values(desk+i, i+1, 'c');
		assign_values(desk+i+13, i+1, 'd');
		assign_values(desk+i+26, i+1, 'h');
		assign_values(desk+i+39, i+1, 's');
	}
	for(i=0; i<13; i++)
		prn_values(desk+i+13);
}  /* main */

assign_values(c_ptr, p, s)
struct card *c_ptr;
int p;
char s;
{
	c_ptr->pips=p;
	c_ptr->suit=s;
}  /* assign_values */

extract_values(c_ptr, p_ptr, s_ptr)
struct card *c_ptr;
int *p_ptr;
char *s_ptr;
{
	*p_ptr=c_ptr->pips;
	*s_ptr=c_ptr->suit;
}  /* extract_values */

prn_values(c_ptr)
struct card *c_ptr;
{
	int p;
	char s, *name;
	extract_values(c_ptr, &p, &s);
	name=(s=='c')? "clubs": (s=='d')?"diamonds": (s=='h')?"hearts": (s=='s')? "spades": "error";
	printf("\ncard: %d of %s", p, name);
}  /*prn_values*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?