关于C语言基础的问题,要求解过程12

来源:百度知道 编辑:UC知道 时间:2024/06/11 17:31:50
下面程序输出多少?
main()
{ int i,j=0,a=0;
for(i=0;i<5;i++)
do{ if(j%3) break;
a++;j++; }while(j<10);
printf(%d,%d\n",j,a); }

结果为 1,1
外循环执行了5次,但只有第一次循环时(即i 为0时),内循环执行a++,j++,因此a变为1,j变为1。
当外循环 i 从1到4时,由于j为1,所以if(j%3)总是为真,执行break跳出内循环,于是就再也不执行a++,j++。所以j和i的结果为1,1。

就是 Wenjinguang 说的那样