c语言这题怎么做请说明原因

来源:百度知道 编辑:UC知道 时间:2024/05/22 13:04:12
x=y=0;
while(x < 15) y++,x+=++y;
printf("%d,%d",y,x);
A、20,7 B、 6,12 C、20,8 D、8,20

选C,一步一步推嘛,x+=++y就是x=x+(++y),y++是先算后加,++y是先加后算.比如Y=6,那么第一次Y++还是等于6,到下一次调用Y是Y才是7,在这题里,比如Y=7,那么先运行Y++,到了x=x+(++y),这里Y就是9了,因为Y++先算了在加,到了++Y这里,就是++8,++Y是先加后算,所以就是9

答案是C