以下是一道c语言试题,请问如何解答?

问题描述:

以下是一道c语言试题,请问如何解答?
#include
main()
{
int x,y;
for(y=1;y
1个回答 分类:综合 2014-09-26

问题解答:

我来补答
((x=3*y,x+1),x-1)是C里的逗号表达式,返回最右面x-1式子的值,(x=3*y,x+1)同样也是逗号表达式子,取x+1的值,同时完成对x的赋值.
第一次循环有x = 3*1 = 3,y = x - 1 =3 - 1 =2
第二次循环有x = 3*2 = 6,y = 6 - 1 = 5
第三次循环有x = 3*5 = 15,y = 15 - 1 =14,
14 > 10循环结束
x = 15,y = 14
第一次(x=3*y,x+1)是4,但给y赋的是逗号表达式((x=3*y,x+1),x-1)也就是x-1的值,(x=3*y,x+1)的返回值没什么影响,主要完成了对x的赋值
楼上是的,for循环里有两个分号for(;;),除了两个分号里的循环条件外,其他两个地方都可以什么也不写
 
 
展开全文阅读
剩余:2000