什么时候for函数后面又不用加分号呢?例如:for(i=0;a[i]!='\0';i++) 有点乱

for(i=0;a[i]!='\0';i++) ; //这后面加个分号,其功能是为了移动i到a串尾。

这样再试试

首先for不是函数,是个命令!

当你使用for()循环命令想执行一些语句时,在for()语句后面会跟有想执行的命令,如:
for( i=0;i<10;i++ )
printf("%d\n", i );
以上两句,目的是循环10次,每次输出相应的i值!

有时候,我们在for()命令中就完成了相应的循环任务,从而不需要在for()命令后有执行命令,也就是说执行命令是个空语句,这时,我们就直接在其后写一个分号,表示,无循环执行命令,如:
for( i=0; a[i] !='\0' ; i++ ) ; //这功能就是想得到a字符串的长度,循环完成后,i就是其长度追问

例如
for( i=0;i<10;i++ )
printf("%d\n", i );
如果不需要执行printf("%d\n", i );
是不是要把原来的printf("%d\n", i );改为空语句;来构成for命令的完成结构。for(;;)语句

追答

for命令完成格式如下 :
for( e1;e2;e3 )
for_statement ;

for_statement可以是空,但分号不能少!

如果for()命令后面跟有多个语句,要用括号括起来:
for( e1;e2;e3 )
{
for_statement1 ;
for_statement2 ;
....
for_statement_n ;
}
括号中的内容也可以是空,因此,空语句也可以写成:
for( e1;e2;e3 ) {} //这样写对于你理解有帮助,不会有歧义了

来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-04-18
弄清楚for(a;b;c)的执行顺序就清楚了。a是初始化,进执行一次,b是每次执行循环内容前判断,是否进入循环,假则跳出循环;c是循环结束后执行一次。那么str[0]在b的位置,就是判断,字符串时候已经到了末尾,因为字符串尾部是以0结尾的。BTW,length=i,就是记录字符串的长度(其实从名字就可以猜出来了)。

...用加分号呢?例如:for(i=0;a[i]!='\\0';i++) 有点乱
有时候,我们在for()命令中就完成了相应的循环任务,从而不需要在for()命令后有执行命令,也就是说执行命令是个空语句,这时,我们就直接在其后写一个分号,表示,无循环执行命令,如:for( i=0; a[i] !='\\0' ; i++ ) ; \/\/这功能就是想得到a字符串的长度,循环完成后,i就是其长度 ...

for后面要不要加分号啊?
加分号,表示这个循环是空语句,除了执行for()括号里的,什么都不干,然后就执行下一行。不加分号,那for循环后面的printf语句就是for循环的一部分,跟着for一起执行,但前提是for循环里的条件要满足。分号代表语句结束。例如:for(i=0;i<100;i++);就等于:for(i=0;i<100;i++){ ;} ...

for()循环 如果后面不加{} 那么管到哪一句?比如
for循环只能循环执行紧随其后的第一条语句,所以可以执行单一语句(以分号结尾)或者复合语句(以大括号框起来,不加分号)。但有一种情况可以运行多条语句又不加分号,就是用逗号把语句分隔起来,比如:include "stdio.h"main(){ int a=0,i,b=0;for(i=0;i<3;i++)a++,b--,a=b;printf("...

for循环语句为什么有时后面要加大括号,有时不要加 请各位大虾详细说明...
首先,出于代码的书写规范考虑,应该为所有的for语句加上大括号!实际应用中,有的人为了简化(其实也没省多少时间...),在循环体只有一条语句的时候,省略了大括号 ,例 for(int i=0;i<5 ;i++) a=a+i;但,如果要循环的内容(循环体)超过一条语句,则必须加大括号,例:for(int i=0;i<=5;i...

for(i=0;i<=n;i=++);这个语句为什么显示括号错误
显示括号错误是提示你括号或者附近有错误,如果是C语言的话I++是代表自变,每次+1另外“;”这个是代表语句结束,在FOR NEXT 或者IF THEN 等控制语句上市不需要添加的

for 语句里面有时候要跟{},在嵌套结构里有时候又不用加,求解释!
代码里面每一个分号结束一行,但是如果要多行代码绑定一起那么就使用花括号,这样就表示一个代码段,括号里面的是一个整体。括号的使用就要按需使用,当你for里面(或者其它条件语句)只需要运行一行代码,那么你的括号加不叫效果一样,但如果是要运行多行的代码,那么就需要用括号把它们形成一个代码段,...

for语句后面为什么要加分号啊?
for语句后加分号就是表示执行for中的语句,不执行其他,也就是不带循环体语句。for后面跟的是循环体。如果不需要有循环体,也就是for括号里面的三句就可以完成所有功能那么就加个分号,表示循环体为空。比如 :求字符串s的长度for(len=0;s[len]; len++);这个, 单独for里面的三句就完成了所有...

c语言的问题
for (i=0;i<10000;i++);这里的for(;;)后边是个分号,是它后边第一条语句结束的标志。分号前没有内容,代表一个空语句。所以这句话的意思也就是将空语句执行10000次。不做实际事情,就只是循环而已。如果自己写程序的时候要注意,不要多加分号,免得程序出错,编译还能通过。难以发现。

循环语句中没有分号会有什么影响吗?
如果去掉了分号,for(i=0;i<3;i++)不能表示完整的循环语句,会把后续语句当作循环体,或者出现语法错误。如LS所说,也可以写成for(i=0;i<3;i++){},完全等价。循环语句for(i=0;i<3;i++);的其它等价表示方法:i=0;while(i<3)i++;或者:i=0;loop:if(i<3)i++;goto loop;i被...

for函数是怎么执行的
1、语句最简形式为:for( ; ; )2、一般形式为:for(单次表达式;条件表达式;末尾循环体){ 中间循环体;} 其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。for循环小括号里第一个“;”号前为...

相似回答