这个C程序的输出结果是这样吗?(简单)

来源:百度知道 编辑:UC知道 时间:2024/05/31 02:13:10
int k, s;
for(k=s=0; k<10&&s<=10; s+=k)
k++;
printf("k=%d, s=%d", k, s);

它的输出结果是:k=5, s=15 吗?s不是要<=10吗?
还有这个的结果是什么,为什么?
main()
{int k=1, j=2, *p=&k, *q=p;
p=&j;
printf("%d, %d",*p, *q);
}

第一题:
k每一次加1,也就是s=1+2+3+4;加到第五次的时候s=10+5(前面的已经是10了),结束循环,此时k=5,s=15.
第二题:
1,2;就是在来回传地址,先把k的地址给p,再通过p把地址给q;再把j的地址给p;所以最后分别输出了k和j的值