作业帮 > 综合 > 作业

C语言的a little problem

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/29 07:16:56
C语言的a little problem
程序是
#include"stdio.h"
main()
{int i=6,j;
j=(++i)+(i++);
printf("%d,%d",i,j);
}
结果是8,14
i到底是怎么调用的啊?i怎么都变成7了才加在一起呢?系统是先算(++i)呢还是先算(i++)呢?
改成j=(i++)+(++i)结果还是一样的.肯定不是从左向右吧?
(++i)+(i++)是7+7
(i++)+(++i)是6+8
(++i)+(i++):++i,i先加1,i变成7,然后加上i++,先算i+i赋值给j,然后i再加1,于是最后j=14,i=7;
(i++)+(++i):i++,i=6先作为加数,然后i自加1变成7,++i,i再自加1变成8,然后i作为被加数,于是最后j=6+8=14,i=8;