int k; float s; for (k=0, s=0; k < 7; k ++) s += k/2; printf("%d, %f", k, s); 输出的应该是多少?
2个回答
展开全部
首要你要了解,k/2得到的是int型,因为k是int型。k=0,s=0是逗号表达式。在这里没多大关系。
1.k=0,s=0
k<7进入循环。k/2=0
所以s=0;
2.k=1,k<7
进入循环。k/2=0
所以s=s+k
仍然为0
3.k=2,k<7
进入循环。k/2=1
所以s=1
4.k=3,k<7进入循环。k/2=1
所以s=2
5.k=4,k<7进入循环。k/2=2
所以s=4
6.k=5,k<7进入循环。k/2=2
所以s=6
7.k=6,k<7进入循环。k/2=3
所以s=9
8.k=7
k不小于7推出循环
所以k=7,s=9
1.k=0,s=0
k<7进入循环。k/2=0
所以s=0;
2.k=1,k<7
进入循环。k/2=0
所以s=s+k
仍然为0
3.k=2,k<7
进入循环。k/2=1
所以s=1
4.k=3,k<7进入循环。k/2=1
所以s=2
5.k=4,k<7进入循环。k/2=2
所以s=4
6.k=5,k<7进入循环。k/2=2
所以s=6
7.k=6,k<7进入循环。k/2=3
所以s=9
8.k=7
k不小于7推出循环
所以k=7,s=9
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询