{ int i,j; for(i=3;i>=1;i--) { for(j=1;j<=2;j++) printf("%d",i+j); printf("\n"); } }

作者&投稿:拓月 (若有异议请与网页底部的电邮联系)
{ int i, j; for(i=3; i>=l; i--) { for(j=1; j<=2; j++) printf("%d", i+j); 运行结果是什么~

楼主的题目貌似有点问题。
for(i=3; i>=l; i--)
l 这个变量是哪里来的??
不知道啊。。
是不是搞错了。。
如果是j的话。
#includeint main(){int i, j; for(i=3; i>=j; i--) for(j=1; j<=2; j++) {printf("%d", i+j); }printf("
");}/*测试结果_______________________________________45Press any key to continue_______________________________________*/

i=3时 j=1 2 3 sum是 3+6+9=18
i=2时 j=1 2 sum 是2+4=6
i=1时 j=1 sum 是1 加一起 就是25

程序如下:
main(){
①int i,j;
②for(i=3;i>=1;i--){
③for(j=1;j<=2;j++)
④printf("%d",i+j);
⑤printf("\n");
}}
为了叙述方便,我把各程序句加上了编号。
先分析程序的结构,这是一个有两个循环嵌套组成的程序。外循环的循环变量是i,它的循环体是第③④⑤句。内循环循环变量是j,它的循环体只有第④句。
下载来看看程序的运行过程:
第①句声明了两个整型变量i和j;
第②句开始进入外循环,循环变量i赋初值3,然后判断i的值是不是大于等于1,当然是成立的。程序进入循环体内部;
接下来执行第③句,第一次进入内循环,给循环变量j的赋值1,然后判断j是不是小于等于2,当然也成立,那么进入下一句④;
第四句是打印i+j的值,这时候i为3,j为1,和为4,故打印出4;
接下来回到③ ,继续执行内循环,首先j自增变成2,这个时候判断j小于等于2仍然是成立的,所以继续运行第④句打印语句,这时i是3,j是2,i+j=5,而打印出5;
然后程序再回到③,j再加加变成3,这时候j小于等于2已经不成立,所以跳出这个循环的执行,而去执行⑤;
⑤是打印回车(也就是换一行);
这是我总结一下,在这一行前后打印了两个数字,一个是4,一个是5合起来是45。
打印完回车键之后,程序回到了第②句,第二次执行外循环,这时i自减变成3-1=2,当然i大于等于1也是成立的,那么再进入内循环;
在内循环中仍然是j先赋值为1,先打印i+j的值,因这时i是2,j是1,i+j=2+1=3,那现在打印3;
接下来程序回到③句,这时j就变成2,再运行④打印的i+j就是2+2=4,打印出来4;
接下来再回到③时,j自增成了3,j小于等于2就不成立了,程序跳出内循环,执行第⑤句打一回车。这样的话,在第二行就打印了两个数字,3和4,合并为34;
这个时候程序又回到了第②句,又是外循环,i自减从2变成1,因为i=1大于等于1仍然是成立的,所以程序第三次进入内循环执行④;
这个时候内循环里面的执行过程就不说了,仍是循环两次,分别打印2和3,然后内循环结束,打印回车键,那么在第三行打印出来的是23;
这时候程序又来到了第②句执行外循环,i再自减从1变成0,因0大于等于1不成立,所以外循环结束,程序也就结束。
最后的结论是:这个程序一共打印了三行,第一行是45,第二行是34,第三行是23。如下:
45
34
23
分析完毕。

共输出3行,每行两个数。

第一行是:45,即3+1与3+2的结果。

第二行是:34,即2+1与2+2的结果。

第三行是:23,即1+1与1+2的结果。


陈巴尔虎旗15580869843: "以下循环体的执行次数是A) 3 B) 2 C) 1 D) 0main(){ int i,j;for(i=0,j=1; i -
历丹丽康:[答案] 1.开始for循环,执行i=0,j=1 2.执行判断“i

陈巴尔虎旗15580869843: 以下循环体的执行次数是 int i,j; for(i=0,j=1;i<=j+1;j -- ){ i=i -
历丹丽康: 由于初始值i=0, j=1, 所以i=0<j+1=2 执行循环体i=i+2得到i=2, j--得到j=0 由于i=2大于j+1=1,不满足循环条件,所以退出循环,所以整个循环执行了一次

陈巴尔虎旗15580869843: { int i,j; for(i=0,j=1; i<=j+1; i+=2, j -- )printf("%d \n",i); -
历丹丽康: for(表达式1;表达式2;表达式3;)语句 执行过程如下: (1)先求解表达式1; (2)再求解表达式2,若其值为真,则执行for的循环体,然后执行下面的第三步.若为假,则结束循环,转到第五步. (3)若表达式2为真,再执行循环体语句后求解...

陈巴尔虎旗15580869843: int i,j; for(i=j=0;str[i]!=`\0`;i++) if(str[i]!=ch) str[j -
历丹丽康: 如果不是空格,那么先 str[j]=str[i];然后j++ 就是说,先把这个字符直接给新串(只不过是换用角标得到的),然后j自增,然后回到for循环,i自增;如果是空格:if不执行,直接i++,你注意,此时j的值没变,所以相当于是空格后面的字符串依次往前挪动一位,也就是说把空格用后一个字符覆盖掉了.不懂追问

陈巴尔虎旗15580869843: Int i,j;for(i=0,j=5;i<5&&j>=3;i++,j -- ) printf ( -
历丹丽康: 声明整型变量i,j for循环(为i j赋初值;i小于5和j大于等于3时;执行i=i+1 j=j-1) 输出整型变量 8i除以j-----纯手打 望采纳

陈巴尔虎旗15580869843: int i,j; for (i=5;i;i -- ) for(j=0;j<4;j++){…} -
历丹丽康: for (i=5;i;i--) i=5,4,3,2,1.共5趟循环.for(j=0;j<4;j++) j=0,1,2,3;没趟共4次循环. 共4*5=20次循环.

陈巴尔虎旗15580869843: { int i,j; for(i=0,p1[i]!='\0';i++); -
历丹丽康: 第一个for后面的;是这个循环的循环体是一个空循环.这个语句是用来测p1字符串长度的.循环结束时,i的值就是p1的长度.第二个for循环的下面一行写错了.是p1[i++]=p2[j]; 这个整个程序的作用是把p2字符串连接到p1字符串的后面.

陈巴尔虎旗15580869843: 若int i,j;,则for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是() -
历丹丽康: j=0,3,6时,执行循环,因此选C)3.

陈巴尔虎旗15580869843: int i,j; for(i=0,j=10;i<10,j>0;i++,j -- ){} 这个语句合法吗?哪儿错啦?
历丹丽康: 循环语句中i<10,j>0;错了,应改为 for(i=0,,j=10; i<10 && j>0; i++,,j-- )

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网