【发布时间】:2013-09-10 17:23:09
【问题描述】:
我目前正在尝试用 C 编写一个简单的 Rock, Paper, Scissors 程序。作业的重点是熟悉如何使用字符。这是我目前拥有的代码。它不完整,因为我被卡住了。
#include <stdio.h>
int main()
{
int pScore = 0;
int cScore = 0;
int ties = 0;
char play, go;
char comp = 'r';
printf("Welcome to Rock-Paper-Scissors!\n");
printScore(pScore, cScore, ties);
for ( ; ;)
{
printf("Do you want to play Rock-Paper-Scissors? (y/n): ");
scanf("\n%c", &go);
if(go == 'y' || go == 'Y')
{
printf("Enter your choice (r,p,s): ");
scanf("\n%c", &play);
comp = computerPlay();
printf("Computer plays: %c", comp);
}
else
break;
}
printf("\nThanks for Playing!!\n\n");
}
char computerPlay()
{
int r = rand() % 3;
char c;
if (r == 0)
{
c = 'r';
}
else if (r == 1)
{
c = 'p';
}
else if (r == 2)
{
c = 's';
}
return c;
}
int printScore(int p, int c, int t)
{
printf("\nHuman Wins: %d Computer Wins: %d Ties: %d\n\n", p, c, t);
return 0;
}
编译器给我以下错误:
RPS.c:35:6: error: conflicting types for ‘computerPlay’
RPS.c:28:14: note: previous implicit declaration of ‘computerPlay’ was here
在我看来,这应该可以正常工作....我不知所措。
【问题讨论】:
-
嘿。
char computerPlay() { return "rpc"[rand()%3]; }对不起。无法抗拒。
标签: c function computer-science systems-programming chars