main(){int i=5,p=(i++)+(i++)+(i++);q=(++j)+(++j)+(++j);print

问题描述:

main(){
int i=5,
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d,%d,%d",p,q,i,j);
}
1个回答 分类:综合 2014-09-22

问题解答:

我来补答
#include<stdio.h>
int main()
{
    int i=5,j=1,p,q;
    p=(i++)+(i++)+(i++);
    q=(++j)+(++j)+(++j);
    printf("%d,%d,%d,%d",p,q,i,j);
    return 0;
}你的代码没有贴完整,我给你补充了一下,并且j的值没有写出来,我这儿就假设为1了运算时我们遵循从右往左的顺序,p=(i++)+(i++)+(i++); i的值目前为5,i++是在5+5+5计算完后才发生3次自加,所以p=15,i最终为8q=(++j)+(++j)+(++j);这句是要先计算3次j自加的值,得到4,3个4相加得到12总结一下就是++在前,先自加后运算,++在后,就是,先运算,后自加.
希望对你有帮助.
 
 
展开全文阅读
剩余:2000
下一页:格子里面填一下