while循环,我的a的最终值为什么是0呢?
郭碧婷 资深会员 2015-08-20 11:29:48
3098 7 0

#include<stdio.h>
main()
{
 int a=5;
 while(a--)
  printf("%d\n",a);
}

而老师说的是-1。

问题来自: while循环和do循环

共 7 个回答

    匿名课官 正式会员 3180天前

    a--为0,跳出循环,那a就是-1啊

    荌靜ޓއއ 正式会员 3180天前

    int类型没有-1吧- -

    郭碧婷 资深会员 3180天前

    回复 荌靜ޓއއ:int是整数,怎么会没有-1。

    荌靜ޓއއ 正式会员 3180天前

    但是你输出的时候还没跳出循环。所以最后是0


    祁老师 人气红星 3180天前

    回复 荌靜ޓއއ:是-1没错当第五次循环之后a为0  不满足条件跳出循环  你可以在printf后面再加一个printf输出最后的a就看出来了

    最佳答案

    祁老师 人气红星 3180天前

    是-1没错当第五次循环之后a为0  不满足条件跳出循环  你可以在printf后面再加一个printf输出最后的a就看出来了

    嘿嘿大人 一代宗师 3180天前

    a--与--a的区别就是,a--在执行当前语句时a--=a的值,但是执行完当前语句后会自减一,而--a是执行当前语句就已经自减一了,所以就本题而言,a--等于0执行while(a--)判断后,a还要自减一,所以答案是-1

您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题