在do while
循环中,测试循环是否应该继续是在循环结束的位置。所以循环语句或语句块总是至少执行一次。
do-while
循环的一般表示是:
do
{
/* 循环体要执行的语句 */
}
while(expression);
以下代码使用do-while
循环来反转正数的数字值。
示例代码
#include <stdio.h>
int main(void)
{
unsigned int number = 0; // 要反转的数字值
unsigned int rebmun = 0; // 反转的数字
unsigned int temp = 0; //临时存储变量
// 读入要反转的值
printf("\n输入正整数: ");
scanf(" %u", &number);
temp = number;// 复制到临时存储
// 反转存储在temp中的数字
do
{
rebmun = 10 * rebmun + temp % 10; // 将最右边的temp数字添加到rebmun
temp = temp / 10; // 并从temp中删除它
} while (temp); // 只要temp不为0就继续
printf("\n%u 的反转的数字是:%u \n", number, rebmun);
return 0;
}
执行上面示例代码,得到以下结果:
hema@ubuntu:~/book$ gcc main.c
hema@ubuntu:~/book$ ./a.out
输入正整数: 123344
123344 的反转的数字是:443321
怎么运行的?
数字的反转在do-while
循环中完成:
// 反转存储在temp中的数字
do
{
rebmun = 10 * rebmun + temp % 10; // 将最右边的temp数字添加到rebmun
temp = temp / 10; // 并从temp中删除它
} while (temp); // 只要temp不为0就继续
使用模数运算符%
获得最右边的十进制数,然后获得除以10
后的余数。