发牌函数,去掉大小王,一共52张牌
#define _CRT_SECURE_NO_WARNINGS
#include
#include
char face[4] = {3,4,5,6}; //扑克牌花色ASCII码
char num[13] = { 'A','2','3','4','5','6','7','8','9','T','J','Q','K'};//扑克牌点数
//定义 扑克牌 结构体,包含花色和点数
struct card
{
char face[100]; //花色
char num[100];// 点数
}card[52];
//发牌函数
void start()
{
for (int i = 0; i < 52; i++)
{
int j = 0, k = 0; //j控制花色,k控制点数
if (i % 4 == 0)
j = 0;
if (i % 13 == 0)
k = 0;
while (j < 4 && k < 13)
{
strcpy(card[i].face,face[j]); //花色
strcpy(card[i].num, num[k]); //点数
j++;
k++;
break;
}
}
}
int main()
{
start();
for (int i = 0; i < 52; i++)
printf("%c%c ",card[i].face,card[i].num);
return 0;
}
到strcpy函数那里就会报错
我的思路:一开始以为是strcpy函数的问题,就加了#define _CRT_SECURE_NO_WARNINGS,但还是报错
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
char face[4] = {3,4,5,6}; //扑克牌花色ASCII码
char num[13] = { 'A','2','3','4','5','6','7','8','9','T','J','Q','K'};//扑克牌点数
//定义 扑克牌 结构体,包含花色和点数
struct card
{
char face; //花色
char num;// 点数
}card[52];
//发牌函数
void start()
{
int j = 0, k = 0; //j控制花色,k控制点数
for (int i = 0; i < 52; i++)
{
if ((i+1) % 4 == 0)
j = 0;
if ((i+1) % 13 == 0)
k = 0;
if (j < 4 && k < 13)
{
card[i].face = face[j]; //花色
card[i].num = num[k]; //点数
j++;
k++;
}
}
}
int main()
{
start();
for (int i = 0; i < 52; i++)
printf("%c %c\n",card[i].face,card[i].num);
return 0;
}