• 分支循环

悬空else

#include <stdio.h>
int main()
{
int a = 0;
int b = 2;
if(a == 1)
if(b == 2)
printf("hehe\n");
else
printf("haha\n");
return o;
}
//什么都不输出
#include <stdio.h>
int main()
{
int a = 0;
int b = 2;
if(a == 1)
{
if(b == 2)
printf("hehe\n");
}
else
printf("haha\n");
return o;
}//修改后可以输出haha
  • if判断语句中如果是常量和变量:
if(num==5)//不好
if(5==num)//好
  • 输入缓存区造出的错误
  • 代码while ((ch = getchar()) != '\n'){ ;}的作用
int main()
{
int ret = 0;
int ch = 0;
char password[20] = { 0 };
printf("请输入密码:>");
scanf_s("%s", password, 20);
//缓存区还剩一个'\n'
while ((ch = getchar()) != '\n')
{
;
}
//while循环作用是清空输入缓存区
printf("请确认(Y/N); >");
ret = getchar();
if (ret == 'Y')
{
printf("确认成功\n");
}
else
{
printf("放弃确认\n");
}
return 0;
}
  • continue在for和while中的区别

int main()
{
int i = 0;
for(i=1 ; i<=10; i++)
{
if(i == 5)
continue;
printf("%d ", i) ;
}
return 0;
}
//输出结果为1 2 3 4

运行结果:Day2_for循环

int main()
{
int i = 1;
while(i<=10)
{
if(i == 5)
continue;
printf("%d ", i) ;
i++;
}
return 0;
}
//continue跳过i++,导致死循环

运行结果:Day2_for循环_02

  • for语句的循环控制变量注意事项

1.不可在for循环体内修改循环变量,防止 for循环失去控制。

⒉.建议for语句的循环控制变量的取值采用“前闭后开区间"写法。

for(i=0;i<10;i++){}

,而不是

for(i=0;i<=9;i++){}
  • for循环的一些变种
  1. 死循环
for(;;)
{
...;
}//for循环;;中的内容可以省略,但没必要,除了死循环。
  1. x,y
int x,y;
for (x = 0, y = 0; x<2 && y<5 ; ++X, y++)
{
printf("x \n");
}
  • do while 特点,至少被执行一次循环。