问答详情
源自:4-15 编程练习

为什么for语句后面可以添加分号

int num = 999;
        int count =0;
        for(count=1;(num/=10)>0;count++);
        System.out.println("它是个"+count+"位的数!");

这样也能正确输出,但是谁能讲解下这段代码的意思

提问者:qq_新城旧梦_03226011 2016-07-03 13:09

个回答

  • 慕粉1466052569
    2016-07-05 23:03:38
    已采纳

    for语句后面直接加分号,说明循环中没有可执行的循环操作,自动进入下一次循环,唯一变化的只是count的值自加一次,直到不满足循环条件,跳出循环,循环结束。

    count=1,  999/10=99>0,  count=2,  99/10=9>0,  count=3,  9/10<0,  跳出循环,  输出“它是个3位的数”

  • 荷兰
    2016-07-03 13:24:58

     for(count=1;(num/=10)>0;count++);

    count=1,再判断(num/=10)>0,显然成立,然后count+1=2;执行下面的语句,但分号前为空,即没有要执行的。所以再回到判断(num/=10)>0,成立,然后count+1=3;最后判断(num/=10)>0不成立,所以输出count为3.如果不加分号,for循环就包括了 System.out.println("它是个"+count+"位的数!");