一个洗牌程序,为什么提醒expected primary-expression before
本帖最后由 看清之后才看轻 于 2020-12-29 15:57 编辑#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NUM 54
char player1,player2,player3;
char *random(char *poker, int i);
char *random(char *poker, int i)
{ char *poker = {"红1", "红2", "红3", "红4", "红5", "红6", "红7", "红8", "红9", "红10", "红J","红Q", "红K","方1", "方2", "方3", "方4", "方5", "方6", "方7", "方8", "方9", "方10", "方J", "方Q", "方K", "黑1", "黑2", "黑3", "黑4","黑5", "黑6", "黑7", "黑8", "黑9", "黑10", "黑J", "黑Q", "黑K", "梅1", "梅2", "梅3", "梅4", "梅5", "梅6", "梅7", "梅8", "梅9", "梅10", "梅J", "梅Q", "梅K", "小王", "大王"};
time_t t;
srand((unsigned)time(&t));
printf("%ld\n",t);
for (i = 0; i < NUM; i++)
{
poker = poker;
}
return poker;
}
int display();
int display()
{
printf("方=方角 , 梅=梅花 , 红=红桃 , 黑=黑桃");
return 0;
}
char *deliver(char *poker, int i);
char *deliver(char *poker, int i)
{
char *poker = {"红1", "红2", "红3", "红4", "红5", "红6", "红7", "红8", "红9", "红10", "红J","红Q", "红K","方1", "方2", "方3", "方4", "方5", "方6", "方7", "方8", "方9", "方10", "方J", "方Q", "方K", "黑1", "黑2", "黑3", "黑4","黑5", "黑6", "黑7", "黑8", "黑9", "黑10", "黑J", "黑Q", "黑K", "梅1", "梅2", "梅3", "梅4", "梅5", "梅6", "梅7", "梅8", "梅9", "梅10", "梅J", "梅Q", "梅K", "小王", "大王"};
printf("%s手上的牌是:", player1);
for(int i = 0; i < 14; i++)
{
printf("%s",poker);
}
printf("%s手上的牌是:", player2);
for(int i = 14; i < 28; i++)
{
printf("%s",poker);
}
printf("%s手上的牌是:", player3);
for(int i = 28; i < 42; i++)
{
printf("%s",poker);
}
return 0;
}
char reset();
char reset()
{
char *poker = {"红1", "红2", "红3", "红4", "红5", "红6", "红7", "红8", "红9", "红10", "红J","红Q", "红K","方1", "方2", "方3", "方4", "方5", "方6", "方7", "方8", "方9", "方10", "方J", "方Q", "方K", "黑1", "黑2", "黑3", "黑4","黑5", "黑6", "黑7", "黑8", "黑9", "黑10", "黑J", "黑Q", "黑K", "梅1", "梅2", "梅3", "梅4", "梅5", "梅6", "梅7", "梅8", "梅9", "梅10", "梅J", "梅Q", "梅K", "小王", "大王"};
char choice;
printf("重新洗牌(Y/N)?");
scanf("%s", &choice);
if(choice == 'Y')
{
random(char *poker, int i);
display();
deliver(char *poker, int i);
}
reset();
return 0;
}
int main()
{
char *poker = {"红1", "红2", "红3", "红4", "红5", "红6", "红7", "红8", "红9", "红10", "红J","红Q", "红K","方1", "方2", "方3", "方4", "方5", "方6", "方7", "方8", "方9", "方10", "方J", "方Q", "方K", "黑1", "黑2", "黑3", "黑4","黑5", "黑6", "黑7", "黑8", "黑9", "黑10", "黑J", "黑Q", "黑K", "梅1", "梅2", "梅3", "梅4", "梅5", "梅6", "梅7", "梅8", "梅9", "梅10", "梅J", "梅Q", "梅K", "小王", "大王"};
printf("请输入1号玩家的名字:");
scanf("%s",&player1);
printf("请输入2号玩家的名字:");
scanf("%s",&player3);
printf("请输入3号玩家的名字:");
scanf("%s",&player3);
random(char *poker, int i);
display();
deliver(char *poker, int i);
reset();
}
提醒这个错误
test1.cpp:73:9: error: expected primary-expression before ‘char’
73 |random(char *poker, int i);
| ^~~~
test1.cpp:73:28: error: expected primary-expression before ‘int’
73 |random(char *poker, int i);
| ^~~
test1.cpp:75:10: error: expected primary-expression before ‘char’
75 |deliver(char *poker, int i);
| ^~~~
test1.cpp:75:29: error: expected primary-expression before ‘int’
75 |deliver(char *poker, int i);
传参的时候不用带类型 2269099035 发表于 2020-12-29 15:58
传参的时候不用带类型
改了之后又出问题了 #include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NUM 54
char player1,player2,player3;
int i;
char *random(char *, int );
char *random(poker, i)
{
time_t t;
srand((unsigned)time(&t));
printf("%ld\n",t);
for (i = 0; i < NUM; i++)
{
poker = poker;
}
return poker;
}
int display();
int display()
{
printf("方=方角 , 梅=梅花 , 红=红桃 , 黑=黑桃");
return 0;
}
char *deliver(char *, int );
char *deliver(poker, i)
{
for(int i = 0; i < 14; i++)
{
printf("%s",poker);
}
printf("%s手上的牌是:", player2);
for(int i = 14; i < 28; i++)
{
printf("%s",poker);
}
printf("%s手上的牌是:", player3);
for(int i = 28; i < 42; i++)
{
printf("%s",poker);
}
return 0;
}
char reset();
char reset()
{
char choice;
printf("重新洗牌(Y/N)?");
scanf("%s", &choice);
if(choice == 'Y')
{
random(char *poker, int i);
display();
deliver(char *poker, int i);
}
reset();
return 0;
}
int main()
{
char *poker = {"红1", "红2", "红3", "红4", "红5", "红6", "红7", "红8", "红9", "红10", "红J","红Q", "红K","方1", "方2", "方3", "方4", "方5", "方6", "方7", "方8", "方9", "方10", "方J", "方Q", "方K", "黑1", "黑2", "黑3", "黑4","黑5", "黑6", "黑7", "黑8", "黑9", "黑10", "黑J", "黑Q", "黑K", "梅1", "梅2", "梅3", "梅4", "梅5", "梅6", "梅7", "梅8", "梅9", "梅10", "梅J", "梅Q", "梅K", "小王", "大王"};
printf("请输入1号玩家的名字:");
scanf("%s",&player1);
printf("请输入2号玩家的名字:");
scanf("%s",&player3);
printf("请输入3号玩家的名字:");
scanf("%s",&player3);
random(char *poker, int i);
display();
deliver(char *poker, int i);
reset();
} #include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NUM 54
char player1,player2,player3;
char *random(char *poker, int i);
char *random(char *poker, int i)
{ //char *poker= {"红1", "红2", "红3", "红4", "红5", "红6", "红7", "红8", "红9", "红10", "红J","红Q", "红K","方1", "方2", "方3", "方4", "方5", "方6", "方7", "方8", "方9", "方10", "方J", "方Q", "方K", "黑1", "黑2", "黑3", "黑4","黑5", "黑6", "黑7", "黑8", "黑9", "黑10", "黑J", "黑Q", "黑K", "梅1", "梅2", "梅3", "梅4", "梅5", "梅6", "梅7", "梅8", "梅9", "梅10", "梅J", "梅Q", "梅K", "小王", "大王"};
time_t t;
srand((unsigned)time(&t));
printf("%ld\n",t);
for (i = 0; i < NUM; i++)
{
poker = poker;
}
return poker;
}
int display();
int display()
{
printf("方=方角 , 梅=梅花 , 红=红桃 , 黑=黑桃");
return 0;
}
char *deliver(char *poker, int i);
char *deliver(char *poker, int i)
{
//char *poker = {"红1", "红2", "红3", "红4", "红5", "红6", "红7", "红8", "红9", "红10", "红J","红Q", "红K","方1", "方2", "方3", "方4", "方5", "方6", "方7", "方8", "方9", "方10", "方J", "方Q", "方K", "黑1", "黑2", "黑3", "黑4","黑5", "黑6", "黑7", "黑8", "黑9", "黑10", "黑J", "黑Q", "黑K", "梅1", "梅2", "梅3", "梅4", "梅5", "梅6", "梅7", "梅8", "梅9", "梅10", "梅J", "梅Q", "梅K", "小王", "大王"};
printf("%s手上的牌是:", player1);
for(int i = 0; i < 14; i++)
{
printf("%s",poker);
}
printf("%s手上的牌是:", player2);
for(int i = 14; i < 28; i++)
{
printf("%s",poker);
}
printf("%s手上的牌是:", player3);
for(int i = 28; i < 42; i++)
{
printf("%s",poker);
}
return 0;
}
char reset();
char reset()
{
char *poker = {"红1", "红2", "红3", "红4", "红5", "红6", "红7", "红8", "红9", "红10", "红J","红Q", "红K","方1", "方2", "方3", "方4", "方5", "方6", "方7", "方8", "方9", "方10", "方J", "方Q", "方K", "黑1", "黑2", "黑3", "黑4","黑5", "黑6", "黑7", "黑8", "黑9", "黑10", "黑J", "黑Q", "黑K", "梅1", "梅2", "梅3", "梅4", "梅5", "梅6", "梅7", "梅8", "梅9", "梅10", "梅J", "梅Q", "梅K", "小王", "大王"};
char choice;
printf("重新洗牌(Y/N)?");
scanf("%s", &choice);
if(choice == 'Y')
{
random(poker,i);
display();
deliver(poker,i);
}
reset();
return 0;
}
int main()
{
char *poker = {"红1", "红2", "红3", "红4", "红5", "红6", "红7", "红8", "红9", "红10", "红J","红Q", "红K","方1", "方2", "方3", "方4", "方5", "方6", "方7", "方8", "方9", "方10", "方J", "方Q", "方K", "黑1", "黑2", "黑3", "黑4","黑5", "黑6", "黑7", "黑8", "黑9", "黑10", "黑J", "黑Q", "黑K", "梅1", "梅2", "梅3", "梅4", "梅5", "梅6", "梅7", "梅8", "梅9", "梅10", "梅J", "梅Q", "梅K", "小王", "大王"};
printf("请输入1号玩家的名字:");
scanf("%s",&player1);
printf("请输入2号玩家的名字:");
scanf("%s",&player3);
printf("请输入3号玩家的名字:");
scanf("%s",&player3);
random(poker,i);
display();
deliver(poker,i);
reset();
}
还差一个i你在random没有定义,其他函数也没赋值,你自己看需求加进去吧
页:
[1]