在选择结构中使用 rand() 的正确方法

问题描述

任何人都可以确定为什么即使我输入了由 rand() 生成的正确代码,以下行:if(code == rand() && try != 3) 也没有执行。

#include <stdio.h>
#include <stdlib.h>
#include<time.h>
 
int main(void)
{

    int code,attempt = 0;
    srand(time(0));

    for(int i = 0; i<1; i++)
        printf("Your code is %d ",rand());
    
    do{    
    printf("\nEnter code: ");
    scanf("%d",&code);
    attempt++;
    
    }while ( code != rand() && attempt != 3);
    
    if(code == rand() && attempt != 3)
  {
      printf("\n Correct code");
      printf("\n");
  }
  else
  {
   printf("Incorrect code\n");
  }
    return 0;
}

解决方法

rand 函数是一个随机数生成器。每次调用它都会返回不同的数字。

在程序开始时调用一次 rand 并将结果保存在一个变量中。然后检查用户的猜测。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...