#include"stdio.h"
main()
{
int k,j,s;
for(k=2;k<6;k++,k++);
{s=1;
for(j=k;j<6;j++)s=s+j;
}
printf("s=%d,k=%d",s,k);
}
uj5u.com熱心網友回復:
因為for()后面接了分號‘;’。uj5u.com熱心網友回復:
接分
供參考:#include"stdio.h"
main()
{
int k,j,s;
s=1; // 置位一次
for(k=2;k<6;k+=2)//for(k=2;k<6;k++,k++)兩個k++相當于k=k+2//; 多了分號
{
//s=1;每次K回圈進來都置1了
for(j=k;j<6;j++)
s=s+j;
}
printf("s=%d,k=%d",s,k);
return 0;
}
uj5u.com熱心網友回復:
一步一步跟進:
#include"stdio.h"
main()
{
int k,j,s;
for(k=2;k<6;k++,k++);
// 這個 for 后面有一個 ; 所以執行完這個回圈后, k=6
// 可能本意是下面這一段是回圈體,但由于上面所說的 for 行末的分號,所以發生的事情跟你預想的差別很大
{
s=1;
for(j=k;j<6;j++)s=s+j; // 由于 k=6,這個回圈 j<6 不成立,所在回圈體沒有被執行到
// 這時候 s 的值沒有變化,仍然為 1
}
printf("s=%d,k=%d",s,k);
}
uj5u.com熱心網友回復:
謝謝各位

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/252248.html
標籤:C++ 語言
上一篇:Qt的connect函式
下一篇:請教大神 這兩者的區別
