在C语言中,下列代码的输出结果是( )
解决时间 2021-03-18 15:14
- 提问者网友:wodetian
- 2021-03-17 17:30
void main()
{
int i=0,j=10;
for(i=0;i {
if(j==10)
{
printf(“%d,%d\n”,i,j);
j--;
}
j++;
}
printf(“%d,%d”,i,j);
}
为什么输出是9,9呢?是怎么样执行的啊?
最佳答案
- 五星知识达人网友:玩家
- 2021-03-17 18:14
void main()
{
int i=0,j=10;
for(i=0;i
{
if(j==10)
{
printf(“%d,%d\n”,i,j);//输出一次i=0,j=10
j--;
}
j++;
}
printf(“%d,%d”,i,j); //i=9,j=9
}
全部回答
if(j==10)里面的语句只有第一次循环时执行了,输出0,10
然后j--,这时j是9,而后面的j++和for()里面的j--抵消了,j还是9, 以后的9次循环里,if后面的语句再也没有执行了,而j++和for()里面的j--每次都抵消,所以j一直是9,
i每次++,一共执行10次,从0到9,所以最后输出i和j是9,9
- 2楼网友:时间的尘埃
- 2021-03-17 18:58
对的,(++x,y++)是一个逗号表达式
先计算++x,然后计算y++,
整个表达式是最后一个表达式的值.为y++(即3)
我要举报
大家都在看
推荐资讯