问题
单项选择题
执行下列程序后输出的结果是( )
#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);
}