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循环)还没有结束,因此还会继续运行。只有内层循环结束后,才会到外层循环进行条件判断。你这种循环方式非常危险,在工程应用时绝对要避免。