do……while循环与自增、自减运算符
do……while语句的特点:先执行,后判断,无论一开始表达式是否为真,循环体至少循环一次
++i,--i(在使用i之前,先使i的值加1或减1)
i++,i--(在使用i之后,使i的值加1或减1)
自增、自减运算符只能用于变量,不能用于常量和表达式
题目:下面程序的运行结果是
#include <stdio.h>
void main()
{
int y = 10;
do
{
y--;
}
while (--y);
printf("%d\n", y--);
}
A:-1
B:2
C:1
D:0
答案:D
解析如下:
#include <stdio.h>
void main()
{
int y = 10;
do
{
y--;
}
while (--y);//这行Y等于一的时候,因为它是前缀,就是减减Y,
//它是前缀,前缀它要先减然后再使用,跟后缀是相反的,
//所以Y等于一的时候,然后它减减Y,那么使得它等于零,
//等于零,那么条件就假了,就退出来。
//然后就先输出Y的值,因为Y减减是后缀的,
//先输出Y等于零,然后在Y的值减一,Y本身变量的值是等于负一,输出是输出零的。
printf("%d\n", y--);
}