问题
单项选择题
执行下列程序后输出的结果是( ) #include<stdio.h> main() { int j,i,k=0,m=0; for(i=0;i<2;i++) { for(j=0;j<3;j++) k++,k-=j; } m=i+j; print{("k=%d,m=%d\n",k,m); }
A.k=0,m=5
B.k=0,m=3
C.k=1,m=5
D.k=1,m=3
答案
参考答案:A
解析: #include<stdio.h> main() { int j,i,k=0,m=0; for(i=0;i<2;i++)/*循环条件是"i<2",步进值为1*/ { for(j=0;j<3;j++)/*循环条件是"j<3",步进值为1*/ k++,k-=j;/*此语句为逗号表达式,表达式"k++"和"k-=j"在循环"for(j=0;j<3;j++)"中都会被执行*/ } m=i+j:/* 此处所使用的i和j的值都是在上述循环执行后i和j的值*/ printf("k=%d,m=%d\n",k,m); }