精华内容
下载资源
问答
  • while循环是否加分号
    2022-04-21 10:54:25

    1、while(循环条件)后不带分号“;”时:
    当循环条件为真(非0)时, 不断执行循环体语句。直到循环条件为假(0)时,就跳出循环,执行while循环后面的语句。

    2、while(循环条件)后带有分号“;”时:
    while(循环条件)与其后面的分号“;”成为了一个整体。
    当循环条件为真(非0)时, 不会执行循环体语句。直到循环条件为假(0)时,才会执行循环体语句(执行一遍),然后继续执行后面的语句。

    更多相关内容
  • while(...){...} do{}while();
    while(...){...}
    
    do{...}while(...);
    
    展开全文
  • C语言:while循环中while后分号“;”与不接分号“;”的区别

    注意:本文讨论的while后接分号“;”与否的区别,是针对while循环,因为do……while循环中while 后面的分号必须要有且千万不能省略,否则编译会报错。

    while 循环的格式是:
    while (循环条件)
    {
        循环体;
    }

    1、while(循环条件)后不带分号“;”时:
    当循环条件为真(非0)时, 不断执行循环体语句。直到循环条件为假(0)时,就跳出循环,执行while循环后面的语句。例:利用while循环计算 1+2+3+4+…+9 之和

    #include <stdio.h>
    int main(void)
    {
        int i = 10;
        int sum = 0;
        while (i--)      // 没有分号“;”
        {
            sum = sum + i;
        }
        printf("sum = %d\n", sum); 
        return 0;
    }

    执行结果:sum = 45
    符合预期。


    2、while(循环条件)后带有分号“;”时:
    while(循环条件)与其后面的分号“;”成为了一个整体。
    当循环条件为真(非0)时, 不会执行循环体语句。直到循环条件为假(0)时,才会执行循环体语句(执行一遍),然后继续执行后面的语句。例:利用while循环计算 1+2+3+4+…+9 之和

    #include <stdio.h>
    int main(void)
    {
        int i = 10;
        int sum = 0;
        while (i--);     // 有分号“;”
        {
            sum = sum + i;
        }
        printf("sum = %d\n", sum);
        return 0;
    }

    执行结果:sum = -1
    不符合预期。

    3、总结
    虽然while循环中while后面加了分号“;”不会出现编译出错,但是它已经不是while循环了,理解也变了,执行结果因此就不同了。
    所以,while循环中while后面没有分号“;”(do……while循环中while后面才有分号“;”)

    展开全文
  • 正点原子8266无线模块代码理解———while循环直接加分号 菜鸡理解,欢迎指错 最近,在学习正点原子stm32开发板的时候,根据自己的需要修改了8266无线模块的例程,遇到程序死循环的错误,在检查代码的时候,注意到...

    正点原子8266无线模块代码理解———while循环后直接加分号

    菜鸡理解,欢迎指错

    最近,在学习正点原子stm32开发板的时候,根据自己的需要修改了8266无线模块的例程,遇到程序死循环的错误,在检查代码的时候,注意到到这样一句代码。

    while(atk_8266_send_cmd("AT","OK",20));
    

    括号中的函数(atk_8266_send_cmd(“AT”,“OK”,20),通过串口向8266发送指令 AT ,通过是否接收到 OK 来判断8266无线模块硬件是否连接,连接成功函数返回0,失败则返回1.
    但是我注意到这个while循环后面直接带有一个分号“;”,通过查阅资料,有了如下理解。

    在以下的一段非常简单的代码中

    while(a<10{a++}
    

    注意,这里的while是没有分号的,这段循环的意思是判断a是否小于10,如果是,就进入循环,直到a不小于10时,跳出循环。

    再看之前的一段代码

    while(atk_8266_send_cmd("AT","OK",20));
    

    此时,while后面直接加了分号,这同样是一个循环,意思是,判断括号里面的函数是否为真,即函数返回值是否为1,如果为1,则继续执行里面的函数,直到函数返回值为0,跳出循环。
    所以导致8266模块如果没有正确连接的话,这条代码的意思是不断的检测连接状态,导致程序进入死循环。

    总结,要时刻注意while语句后面有没有加分号。

    展开全文
  • 【C语言】while后分号“ ;”的用法

    千次阅读 多人点赞 2020-12-21 16:04:53
    时刻注意while后是否有分号;不要被迷惑! while 不带分号;时 int y=10; int sum=0; while(y<13)//; { sum++; ++y; printf("y=%d;sum=%d\n",y,sum); } printf("\ny=%d;sum=%d",y,sum); while 与...
  • c语言while循环中直接分号问题

    千次阅读 2020-12-14 06:54:02
    C语言 对于这样的while循环语句,例如 while(isspace(c = getch())) ; 该语句表示一个空循环,只执行while中的语句,只要条件为真,就无限循环下去!
  • while后面的分号问题

    2021-10-23 19:14:06
    do whilewhile后面要加分号,刚刚没提示希望有一个分号while后面的: 如果了 意思是一直重复执行()中的语句,直到不满足()中的条件,再执行下面的语句。 所以一般不。 【自己学习中遇到的小问题】 ....
  • 1.for循环没有语句体,只有分号时不会使程序出错或陷入死循环,其后面的语句正常执行 for (; ; ) ;//死循环 for (; ; ) 一条语句;//死循环 for (; ; ) {语句};//死循环 public class Demo01 { public static void ...
  • do while语句是先执行一次do语句中的内容,接着判断while语句中的内容不成立时就不再执行do语句了,否则循环执行do语句,最后的while小括号后边要加分号 #include <stdio.h> main(){ int x,max; printf(...
  • 遇到while语句后面不接内容直接加分号的是什么意思? 例如while ((*s++ = *t++) != '\0'); <p>for (; *s != '\0'; s++);</p>
  • } while (ch == 'Y' || ch == 'y'); return 0; } 二;将一个数字倒过来 # include int main(void) { int val; int m; int sum = 0; printf("请输入一个数字\n"); scanf("%d", &val); m = val; while (m) { sum = sum...
  • do-while循环中while语句后面的分号可以省略()更多相关问题()在思想体系、思维路径、问题的提法,以及范畴的运用等方面,对以后的宋明道学影响深远。A、华严宗B行政单位会计对于数量不大、随买随用的办公用品,一般...
  • 求下列试子的值:2/1+3/2+4/3+5/4+……+50/49。... 3)在if语句、while语句,for语句中,表达式后面都不能加分号,而在do-while语句while后面必须加分号。 4)1/2=0,不是0.5,所以中间有一个强制类型转换。
  • ![图片说明]... ... while ((c = getchar()) != '\n') { if (c == 32) { continue; } else { ch = c; } printf("%d", ch-48); } } ``` 求大神解答
  • 者来讲是定义,非声明非语句,不需要加分号。 语句、定义不需要分号结尾,声明需要分号结尾; 语句、定义不需要分号结尾,声明需要分号结尾; 语句、定义不需要分号结尾,声明需要分号结尾; 语句: if、for...
  • Java语言为什么if语句后面一般不要加分号,而while就需要?不是说都是循环的意思么
  • 本实验是在vc6.0中测试:以下三种情况都是对的。 在上图代码测试遇到一个问题:即使在主函数调用的延迟函数前加上...第一个printf中的a值不会立刻打印出来,而是在一定延迟和第二个printf打印的值一起显示出来。 ...
  • 问题阐述一般来说,if和 else语句本身后面不能写分号,但也不是绝对的,请看下例。这个程序 if后面有个分号,这个程序有错误吗?专家解答这其实是空语句的问题。空语句是不执行任何操作的语句。空语句本身是一条语句...
  • while结尾不加分号,造成返回值出现问题,按键按下反应出现问题 按键按下,灯不发生反转,需要个延时 while(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin) == KEY_ON) ;;;;;;;;;;;;;;;;分号 uint8_t ...
  • while语句: var i = 1; while(i<10) { [removed](i); ...do while语句: ...}while(i<...1.因为while语句总是先检测循环表达式,所以...2.do/while语句的结尾要分号,这是因为它的结尾处是循环条件而不是简单的用
  • <p><img alt="" height="330" src=...
  • for语句后面跟分号的含义

    千次阅读 2018-07-29 20:22:46
    这个是没加分号的,那么a[0]=0,a[1]=1....a[4]=4;for(int i = 0;i&lt;5;i++);这样分号,就代表结束了,相当于循环只执行了i,然后就退出循环了 a[i] =i ;这样相于只有a[4] = 4 以下是...
  • 关于JavaScript语句后面的分号

    千次阅读 2017-01-06 22:41:31
     JavaScript自动加分号规则,有3条 当有换行符(包括含有换行符的多行注释),并且下一个token没法跟前面的语法匹配时,会自动补分号。当有}时,如果缺少分号,会补分号当程序源代码结束时,如果缺少分号,会补...
  • 补充 if语句的表达式比较变量要与比较操作符用空格分开。if [ 1 -eq 1 ]不能写成if[ 1 -eq 1 ] 、if [1 -eq 1 ]、if [ 1 -eq 1]、if [ 1-eq1 ] shell中用arrary=(arr1 arr2 arr3 ……) 的方式声明数组 访问数组时...
  • 因为是一条语句,必然是加分号的。 void setGround();//页面设置 void getValue(); //获取ui输入值 源文件定义 成员函数的代码实现,不需要加分号 for、while循环同理 void MainWindow::setGround() { qDebug() &...
  • while中文是什么意思while n. 时间; 一段时间, 一会儿 wait a while. 等一会儿。 it took a long while to do the work. 做这个工作花了许多时间。 what have you been doing all this while? 这一阵子你一直在做...
  • 循环语句形式分为:1.while循环  2.do-while循环  3.for循环 1.while语句:一般形式为: while(表达式) {  循环语句; } 特点:先判断表达式,再执行循环体。 2.do-while语句:一般形式为: do ...
  • 宏定义加分号

    千次阅读 2011-04-26 11:22:00
     }while ((i!=NULL_LINK));  printf("/n");  printf(" Inverse Data in LinkList : ");  inverse();  i=head;  do  {  if (i==NULL_LINK)  break;  printf("%d ",a[i][0]);  i=a[i][1];  }while((i...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 80,062
精华内容 32,024
关键字:

while后加分号

友情链接: AD.rar