找回密码
 立即注册
查看: 174|回复: 0

在C语言中,for语句的后面加分号和不加分号有何不同?

[复制链接]
发表于 2022-5-11 14:29 | 显示全部楼层 |阅读模式
加分号,表示这个循环是空语句,除了执行for()括号里的,什么都不干,然后就执行下一行。不加分号,那for循环后面的printf语句就是for循环的一部分,跟着for一起执行,但前提是for循环里的条件要满足。分号代表语句结束。例如:for(i=0;i;i+);就等于:for(i=0;i;i+){}扩展资料:注意事项格式:for(表达式1;表达式2;表达式3){若干语句(循环体)}执行规则:计算表达式1,完成必要的初始化工作;判断表达式2的值,若表达式2的值为true,则进行3,否则进行4;执行循环体,然后计算表达式3,以便改变循环条件,进行2;结束for语句的执行www.mh456.com防采集。
for循环2113后面加分号,表示这个循环是空5261语句,除了执行for()括号里的4102,什么都不干。然后就执行下一1653行,也就是你的prinf,printf和for循环没关系。
for语句括号后面紧跟分号,一般来说都意味着书写错误,而且常常是很致命的,这种错误审查源代码袭的时候很难发现。与此类似,if语句的判断条件知的括号紧跟分号,也很致命。如果确实要写一条空语句,建议


如果不加分号,那for循环后面的printf语句就是for循环的一部分,跟着for一起执行,但前提是for循环里的条件要满足。执行到第二个for时a已经等于3了,你要b=a,那b怎么可能小于3 。所以后面的for循环不满足条件,不执行,同时for里面的代码也不执行。
case语句后面能接for循环语句。只百是将for循环整个当成一条语句执行。case是与度switch一起使用的,格式如下知: switch(表达式) { case 常量道表达式1:语句1;break;case 常量表达式2:语句2;




使用for语句应该注意:
在C语言中,if.else分支语句与for循环语句和其他循环及分支都是可以嵌套使用的,也就是说在if语句后面和else语句后面都是可以使用for循环语句的,例如: 给定一个整数n,判断这个整数n是不是小于


1) for循环中的“表达式1(循环变量赋初值)”、“表达式2(循环条件)”和“表达式3(循环变量增量)”都是选择项,即可以缺省,但分号(;)不能缺省。
for;条件;{ if(成立) { break;} } 不知道你的返回是什么意思。


2) 省略了“表达式1(循环变量赋初值)”,表示不对循环控制变量赋初值。
如果 for 里面 什么也没有,for 外面是个分号,那就相当于,条件为空(非0),循环内容为空,死循环。


3) 省略了“表达式2(循环条件)”,则不做其它处理时便成为死循环。
例如:for( i=1; ; i++ )  sum=sum+i;
for语句后加分号就是表示执行for中的语句,不执行其他,也就是不带循环体语句。for后面跟的是循环体。如果不需要有循环体,也就是for括号里面的三句就可以完成所有功能那么就加个分号,表示循环体为空。比如:求字符串s的长度for(len=0;s[len];len+);这个,单独for里面的三句就完成了所有功能,不需要循环体,加分号。扩展资料for循环是编程语言中一种循环语句,而循环语句由循环体及循环的判定条件两部分组成,其表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}。for;里面是3个语句,两个分号。第一个语句是开始前执行,第二个语句是判断真假,如果真,就执行后面(大括号内)的代码。第三个语句是每次执行完毕后执行的东西,通常第三个语句使用"i+"表示i=i+1的意思,用来递增自变量i内容来自www.mh456.com请勿采集。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-19 14:04 , Processed in 0.088591 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表