关于C语言For语句下列程序执行的结果是a=1b=2;c=3;while(b<a<c){t=a;a=b;b=t;c--}printf("%d,%d,%d",a,b,c); 2,1,0 2.执行语句for(i=1;i++<4;);后i的值 为什么是5?3.若 int x;则执行下列程序段后输出

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 18:15:12
关于C语言For语句下列程序执行的结果是a=1b=2;c=3;while(b<a<c){t=a;a=b;b=t;c--}printf("%d,%d,%d",a,b,c);     2,1,0 2.执行语句for(i=1;i++<4;);后i的值 为什么是5?3.若 int x;则执行下列程序段后输出

关于C语言For语句下列程序执行的结果是a=1b=2;c=3;while(b<a<c){t=a;a=b;b=t;c--}printf("%d,%d,%d",a,b,c); 2,1,0 2.执行语句for(i=1;i++<4;);后i的值 为什么是5?3.若 int x;则执行下列程序段后输出
关于C语言For语句
下列程序执行的结果是
a=1b=2;c=3;
while(b<a<c){t=a;a=b;b=t;c--}
printf("%d,%d,%d",a,b,c);     2,1,0
2.执行语句for(i=1;i++<4;);后i的值 为什么是5?
3.若 int x;则执行下列程序段后输出是
 for(x=10;x>3;x--)
{ if(x%3)x--;   --x;--x;
   printft("%d",x);
}  为什么答案是 7
4.下面程序的输出结果是
main()
{ int i,j;float s;
   for (i=6;i>4;i--)
   {s=0.0;
             for(j=i;j>3;j--)s=s+i*j;
          }
         printf("%f\n",s);
}                为什么答案是45.000000?

关于C语言For语句下列程序执行的结果是a=1b=2;c=3;while(b<a<c){t=a;a=b;b=t;c--}printf("%d,%d,%d",a,b,c); 2,1,0 2.执行语句for(i=1;i++<4;);后i的值 为什么是5?3.若 int x;则执行下列程序段后输出

你那样的写法,就是错的,通常情况应该编译不通过.没必要深究.

但是,你可以这样理解,b < a = false,false在c里面是 0 ,这时候进了循环,c-- = 2了,然后,a  = 2, b = 1

进去之后,出来,第二次时 b< a = true ,true的值 应该是1,1 < c 因为,c=2,这里循环 c-- = 1,然后,下一次循环.a = 1 ,b = 2 ,c =1

第三次循环,b = 1 ,a =2 ,c = 0 ,

要进行,第四次循环时,b < a  = true , true =1 < c 这个条件不成立,所以,没有进去,所以,就这样了.

for(i=1;i++<4;); 因为 i++ 是后加,如果,你用++i试试.

10%3=1,所以x--;这时候x = 9 ,然后两个--x;就是9-2=7,所以打印出了7

这里时候for条件里面x--,x就等于6了,6%3=0,所以,if不成立,就不会x--,所以连续两个--x,--x要走,就是6-2=4,所以打印出了4,然后又for语句里面x--,时候x=3了,然后x>3条件不成立,退出循环.

5*5+5*4=45,你懂的,最外的面的循环只进来了两次,但是你把s=0.0也就是说,只会记录最后一次的结果,即i=5的结果,i = 5时,内层循环for(j=i;j>3;j--)s=s+i*j;
运行了两次,即5*5+5*4=45.000000