纯小白,请问do while的条件不能直接写a=1这种的吗
这样写,就算密码错误也不会循环,为什么呀{:5_99:}#include"stdio.h"
int main()
{
int password,n,f;
password=666;
do{
printf("请输入正确的密码\n");
scanf("%d",&n);
if(n==password)
{
printf("密码正确,欢迎!\n");
break;
}
else
{
printf("密码错误\n");
f=0;
}
}while(f=0);
return 0;
}
这样写却是正确的,区别是因为while的条件中只能写变量等于变量吗?
#include"stdio.h"
int main()
{
int password,n,f,x;
password=666;
f=3;
x=2;
do{
printf("请输入正确的密码\n");
scanf("%d",&n);
if(n==password)
{
printf("密码正确,欢迎!\n");
break;
}
else
{
printf("密码错误\n");
x=x+1;
}
}while(f=x);
return 0;
}
可以,从语法上看,不会有任何问题
不过这么写,在绝大多数情况下不是你期望的结果
帮你稍微改写:#include"stdio.h"
int main()
{
int password,n,f = 1; // 这里 f = 1
password=666;
do{
printf("请输入正确的密码\n");
scanf("%d",&n);
if(n==password)
{
printf("密码正确,欢迎!\n");
f = 0; // 密码正确,f = 0,结束循环
}
else
{
printf("密码错误\n");
continue; // 密码不正确,继续循环
}
}while(f); // 如果 f == 1,则重复循环
return 0;
} 傻眼貓咪 发表于 2021-12-10 22:00
帮你稍微改写:
谢谢哥!!!!
页:
[1]