问题描述
任何人都可以确定为什么即使我输入了由 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
并将结果保存在一个变量中。然后检查用户的猜测。