for (c=0;c<b;) {//8 for (a=n1;a<=n2;a++) {//9 d=IthChar(str,a); if (isspace(IthChar(str,a))){//10 c=c+1;printf("%d\n",c); }//10 }//9 }//8說明一下:我運行時,顯示的c已經超過b,但還沒跳出第一個循環,為什么?
熱心網友
雖然顯示的c大于b,但是你的內層循環(a循環)還沒有結束,因此還會繼續運行。只有內層循環結束后,才會到外層循環進行條件判斷。你這種循環方式非常危險,在工程應用時絕對要避免。