C语⾔基础知识:While后⾯可以没有花括号{}?可以同时有{}
和;?
先说结论:正确且习惯⽤while(){}
可以没有{},此时于while()后第⼀个分号 “;” 前⾯的语句就是循环体。
可以同时有{}和分号“;” , 也就是说,当有花括号 {} 结尾可不需要分号, 当然你加了不也会出错,但不要while();
【总结】在C语⾔中,⽤;和{}的作⽤都是⼀个:⽤于语句分隔,告诉编译器当语句遇到;或者{}中的 “}”时,说明执⾏该语句结束。所以
说有点⼆选⼀的感觉,但让如果两个都同时⽤也不会出错(注不要while(); 不要for(); ,这些C语⾔编译器是允许的,但是实际上这样做没意
义,这样做相当于循环体为空了,什么也没⼲)
while(){} //有 {} 结尾可不需要分号,当然你加了不也会出错,但不要while();。
但是要注意,如果是do while结构,在while()后⾯必须有;
do{}while(); //要分号结束
【注意】:在C语⾔中 ; 分号 是可以看成表⽰执⾏语句结束
分析:第⼀个例⼦循环体在while的前⾯,先执⾏的是循环体,再判断条件。⽽条件是不能⽤花括号{}括起来的的,在C语⾔中每段程序之间
都要⽤分号隔开的,所以就要分号; 第⼆个列⼦是先判断条件,再执⾏循环体,⽽循环体是⽤花括号{}包起来的,⽽在C语⾔中花括号和分
号不能同时在⼀起,所以就没有分号;就相当于if(){}语句⼀样。
while语句简单例子1、当while在复合语句中没有使⽤花括号{}时
while()
语句a;
语句b;
语句c;
当while在复合语句中没有使⽤花括号时循环体只有语句a,
相当于while()后第⼀个分号前⾯的语句就是循环体。
举例⼦:
int main()
{
int i=0;
int n = 3;//表⽰从键盘输⼊的整数
while(i<=n)//n是⼏下⾯的循环体就执⾏⼏次
printf("%d",i); //打印出来的结果是:全是0
i=i+1; //结论:printf("%d",i)为循环体,⽆法执⾏到i=i+1,由于i=0不变,这是⼀个死循环
}
2、在上述例⼦基础上,在while(i<=n)后⾯加分号;
int main()
{
int i=0;
int n = 3;//表⽰从键盘输⼊的整数
while(i<=n); //编译可以通过,但是执⾏时不打印任何信息
printf("%d",i);
i=i+1;
}
//上⾯分析得到,while()后第⼀个分号前⾯的语句就是循环体。本例中,while()后第⼀个分号前⾯的语句是空语句,相当于什么也没有执⾏,所以执⾏时没打印出信息
3、正确写法while(){}
//while后有{}号
int main()
{
int i=0;
int n = 3;//表⽰从键盘输⼊的整数
while(i<=n)//n是⼏下⾯的循环体就执⾏⼏次
{
printf("%d\n",i); //打印出来的结果是:0123
i=i+1;
}; //有 {} 结尾可不需要分号,当然你加了不也会出错}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论