k=2;while(k!=o)printf("%d",k);k--;printf("\n");是只执
应该循环三次:第一次k=2不满足k=0,k--,k=1;
第二次k=1不满足k=0,k--,k=0;
第三次k=0满足k=0输出k=0,再转行。
while(表达式)
语句;/*循环体*/
这里的表达式是循环能否继续下去的条件,而语句是循环体。只要表达式为真,则执行循环体内语句。否则终止循环,执行循环体外语句。
而你的例子 运行到while(k==0) 时,此时K=2;不等于0,所以条件不成立,表达式为假。不执行循环。循环次数为0
void main()
{
int k=2;
while(k!=0) // 这里k=2,所以条件k!=0为真,
printf("%d",k); while循环的函数体,只有这一句是循环的函数体。没有改变k的值。所以while的条件一直为真。
k--;
printf("\n");
}
如果代码修改为如下:
void main()
{
int k=2;
while(k!=0)
{// 花括号为while的函数体
printf("%d",k);
k--;// 这里改变了k的值,是减1操作,所以条件执行2次后,k=0,退出循环。
}
printf("\n");
}
int a=1,b=2,c=3,t;while (a<b<c) {t=a;a=b;b=t;c--;
while第一次循环后:a=2,b=1,c=2;第二次循环后:a=1,b=2,c=1;第三次循环条件不满足,跳出循环,输出:1,2,1
a=1,b=2,c=2 while (a<b<c) {t=a;a=b;b=t;c--;} printf("%d,%d,%d...
因为“<”是左结合,所以应该先比较a
编写PHP程序,使用while循环计算4096是2的几次方,然后输出结果
j=1;x=2;while($j){ x=$x*2;j++;if($x==4096){ echo $j;break;} }
while (scanf("%d%d", &a, &b)==2)什么意思?
The return value is EOF for an error or if the end-of-file character or the end-of-string character is nocountered in the first attempt to read a character.如:scanf("%d%d", &a, &b);如果a和b都被成功读入,那么scanf的返回值就是2 如果只有a被成功读入,返回值为1 如果a和b...
while (scanf("%d%d",&i,&j)==2)是什么意思
当i和j都成功读入值时循环 补充资料:scanf返回值 以问题中为例子:若i,j都成功读入值,返回2 若i没得到正确值(如输入非数值),直接退出读取,返回0 若i得到正确值,而j没得到正确值,返回1 参考资料:c语言scanf()的返回值
while语句中的判断条件==2是什么意思,用c++如何写,,,是当输入两个数就...
scanf("%d %d", &a , &b) ==2 表示你输入的必须是两个数,如果不是两个的(如三个)是不进入while的 if(!a && !b) return; 表示如果输入的a和b都是零的话,就返回,不处理了
为什么int x=1,while(x=2)是无限循环?
x=2,代表的是赋值语句,肯定会不停的进行循环,因为这个结果会一定为真
...main() {int t,a,b,c;a=1;b=2;c=2; while(a<b<c) {t=a;a=b;b=t...
它和(a<b)<c的意义是一样,下面来分析一下(a<b)<c:(a<b)这个式子只有两个结果,0或者1.当a小于b时,它的值为1,其他的情况都为0.而c就接着和1或者0进行比较了。然后开始计算过程的分析:循环开始前:t未知,a=1,b=2,c=2。因为(a<b)的值为1,所以(a<b<c)的值为1,开始循环...
while (scanf("%d %d",&a,&b)==2 && (a||b))什么意思
首先scanf返回的是输入变量的个数。如果n=scanf(“%d %d”,&a,&b)如果两个变量a、b输入成功n=2;a||b的意思是a“或”b,逻辑运算符||进行或运算结果非0即1,如果a=b=0,a||b=0,否则a||b=1 while (scanf("%d %d",&a,&b)==2 && (a||b))意思是,如果scanf输入两个数...
C语言循环 while() 括号里的只能是bool型吗?即 括号里的值只能是0或1...
for(i=2;i<25;i++){ f[i]=f[i-1]+f[i-2];} for(n=0;n<25;n++){ printf("%6d",f[n]);if((n+1)%5==0)printf("\\n");} } 也可以用while循环来写:include "stdio.h"void main(){ long int f[25];int n,i;f[0]=1;f[1]=1;i=2;while(i<25){ f[i]=f...
由贞安坤: while(k=0)等价于while(0),所以选择C 其中k=0是赋值语句,整体表达式的值为0
大竹县17878151725: 程序段如下 int k=0; while(k++<=2); printf("l%d\n",k); - ?
由贞安坤: 当k=3时,虽然k
大竹县17878151725: int k=2; while(k=0) printf("%d",k); k -- ; printf("\n"); 循环几次?;?
由贞安坤: 答案:循环0次解释:这是因为while(k=0)的执行顺序是先k=0,然后while(k),故不进入循环
大竹县17878151725: 若k为整型,则while循环( ) k=2; while(k==0) printf("%d",k); k -- ; printf("%d",i); 输出是什么 - ?
由贞安坤: 题目写错了把 最后一个i应该是K吧 输出应该是1
大竹县17878151725: #include<stdio.h> main() {int n=2,k=0; while(k++ && n++ >2); printf("%d %d\n",k,n); } - ?
由贞安坤: #include main() {int n=2,k=0; while(k++ 2); printf("%d %d\n",k,n); }while(k++ 2); 执行这个的时候k=0k++执行时,先取k的值是0,为假,所以2就
大竹县17878151725: #include <stdio.h> int main() { int k=0; while(k) { k++; printf("%d\n",k); } return 0; } - ?
由贞安坤: K=0 while(k)0相当于“假”所以不执行 非0的值相当于“真”就执行了 在while前面把K改成非0的值,循环就执行了 不过你这是死循环
大竹县17878151725: 下面程序段 int k=2; while (k=0) {printf(“%d”,k);k--;} 则下面描述中...?
由贞安坤: ++在后是先用后加,在前则为先加后用;while条件中是个逻辑与语句,也就是当k++和n++>2同时满足时才循环,k=1,所以k++恒为真,n初值为2,判断n++>2时先判断n>2,再n++,而2>2不成立,所以while结束,最终k=2,n=3