求助 c语言入门经典 的代码在ubunut下可以编译却无法正确运行!
第四章最后设计的那个程序,有两个问题,一个根本没有打印随机数,第二个主体循环无效,也就是没有要求输入(Y/N),直接执行return 0了.
请问这是什么问题啊?
/* Program 4.12 Simple Simon */
#include /* For input and output */
#include /* For toupper() function */
#include /* For bool, true, false */
#include /* For rand() and srand() */
#include /* For time() and clock() */
int main(void)
{
/* Records if another game is to be played */
char another_game = 'Y';
/* true if correct sequence entered, false otherwise */
int correct = false;
/* Number of sequences entered successfully */
int counter = 0;
int sequence_length = 0; /* Number of digits in a sequence */
time_t seed = 0; /* Seed value for random number sequence */
int number = 0; /* Stores an input digit */
time_t now = 0; /* Stores current time - seed for random values */
int time_taken = 0; /* Time taken for game in seconds */
/* Describe how the game is played */
printf("\nTo play Simple Simon, ");
printf("watch the screen for a sequence of digits.");
printf("\nWatch carefully, as the digits are only displayed"
" for a second! ");
printf("\nThe computer will remove them, and then prompt you ");
printf("to enter the same sequence.");
printf("\nWhen you do, you must put spaces between the digits. \n");
printf("\nGood Luck!\nPress Enter to play\n");
scanf("%c", &another_game);
/* One outer loop iteration is one game */
do
{
correct = true; /* By default indicates correct sequence entered */
counter = 0; /* Initialize count of number of successful tries*/
sequence_length = 2; /* Initial length of a digit sequence */
time_taken = clock(); /* Record current time at start of game */
/* Inner loop continues as long as sequences are entered correctly */
while(correct)
{
/* On every third successful try, increase the sequence length */
sequence_length += counter++%3 == 0;
/* Set seed to be the number of seconds since Jan 1,1970 */
seed = time(NULL);
now = clock(); /* record start time for sequence */