int
a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(“%d,%d,%d\n”,a,b,c);
按程序运行来讲吧。
第一句不说了...
c=(a-=a-5)
给c赋值,把a-=a-5的结果赋给c;
(a-=a-5)=(a=a-(a-5))
把a=0代入得a=5
进而(a-=a-5)的值为5;
c=5;
接下来执行(a=b,b+3);
这里面又有逗号表达式。
a=b因b=0;故a=0;
b+3;不对任何变量赋值,相当于空语句;
综上所述:a=0b=0c=5.
论述完毕.....................
首先循环呢是i[1~6]6次,循环体的内容执行时if(i%2==0)条件若满足了,就continue跳出本次循环,进行下一次循环若不满足执行后面的s+=ii%2==0
%这里是求余符号也就是说i可以被整除
就是当i={
2,4,6}的时候ontinue
说的是条
件满足了跳出本次循环,也就是不执行s+=i语句了
所以,i={
1,
3,5}时s+=i执行,故而结果是s=1+3+5=9.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)