#include<stdio.h>main(){intn=2,k=0;while(k++&&n++>2);printf("%d%d ",k,n);}运行结果是1,2,但为啥呀?while那一句是咋执行的呀?...

展开全部
收起
5回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • MULAN

    19人对此回答表示赞同

    while(k++&&n++>2);
    因为k=0,所以第一次循环是就不成立,因为k++为false,后面的n++>2将不再执行,因为不论是否执行,条件判断都为false,所以n++>2不执行,n仍然为2.
    k++执行后k=1;
    所以答案为1,2.
    展开
    19
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 北极贝TAN

    16人对此回答表示赞同

    就是说当k++和n++>2同时成立时,输出k.n的值,k++为1,n++为2
    展开
    16
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 大青

    8人对此回答表示赞同

    先判断一次k是否满足条件,条件不满足直接跳出循环而不会运行到后面的比较条件了!所以k=0跳出循环并且k自加1,而n不变
    展开
    8
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 你最珍贵

    8人对此回答表示赞同

    &&这个运算符执行时是先算前面的值,如果是0就不再算下去,如果是1在算另个个值,最后取&&的值,比如a&&b,如果a是0 就不再算下去,如果是1再算b的
    值,所以这块就可以解释了
    展开
    8
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Skye

    5人对此回答表示赞同

    n++是先使用n的原值,下次循环才使用原值加1.
    明白吗?
    展开
    5
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部