for循环只能遍历后面的第一个语句,因此可以使用zd执行单个语句(以分号结尾)或复合语句(用大括号括起来,不带分号)。
但是,有一种情况下,您可以运行多个不带分号的语句,即使用逗号分隔内部语句,例如:
#include“stdio.h”
main()
{
Inta=0,I,b=0;
For (I = 0;我< 3;我+ +)
B+,-,a=B;
Printf("%d",a);
}
最后得到-3,即a++b,a=b;是作为语句执行的,但这种编写方式不标准,因此不建议使用。
扩展资料:
注意事项
1、for循环中的变量可以是一个或多个,不要局限于一个变量到最后进行处理,这样会很繁琐,当程序适合多个变量进入一个循环时,使用多个for语句是一种浪费!
2.for循环中的语句可以是语句的主体,语句外面的括号“{}”将把参与循环的语句括起来。for循环中的所有三个表达式都是逗号表达式,因此每个分号可以由几个逗号表达式组成,逗号表达式之间用“”分隔,最后用“;”分隔;最后。
3.for循环中的“single表达式”、“条件表达式”和“body语句”都是选项,这意味着只有;可以默认离开。空语句,”;“不能默认的原因是编译格式是这样的,默认的原因是编译器不能识别它并报告错误。
省略用于初始化的单个表达式意味着没有给循环控制变量赋初值。
条件表达式被省略,如果不执行其他操作,它将成为死循环。
当所有循环体都被省略时,如果for语句没有被其他形式处理,那么它就没有任何作用。
for循环只能循环执行紧随其后的第一条语句,所以可以执行单一语句(以分号结尾)或者复合语句(以大括号框起来,不加分号)。
但有一种情况可以运行多条语句又不加分号,就是用逗号把语句分隔起来,比如:
#include "stdio.h"
main()
{
int a=0,i,b=0;
for(i=0;i<3;i++)
a++,b--,a=b;
printf("%d",a);
}
最后结果是-3,在这里a++,b--,a=b;被当作一条语句执行,但这种写法不规范,故不推荐。
循环体只能有一条语句,
如果需要执行的语句超过一条,就要加大括号将它们变为一条复合语句
for循环如此,while循环也是如此.
for(int i=1; i<5; i++)
printf(" A ");
printf(" B ");
A输入5次,B输出1次
while(1)
printf("C");
printf("D");
不停的输出C ,但不会输出D
是的,循环体只能有一条语句,如果需要执行的语句超过一条,就要加大括号将它们变为一条复合语句
不是,在这个程序中,if和else if都运行了,你试试就知道了
#include"stdio.h"
int max,min; /*全局变量*/
void max_min_value(int array[],int n)
{int *p,*array_end;
array_end=array+n;
max=min=*array;
for(p=array+1;p
else if (*p
}
int main()
{int i,number[10];
printf("enter 10 integer umbers:\n");
for(i=0;i<10;i++)
scanf("%d",&number[i]);
max_min_value(number,10);
printf("\nmax=%d,min=%d\n",max,min);
return 0;
}