+3+5 =1O

扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
for( int i=0,j=1; j < 5; j+=3 ) i=i+j; 为什么等于5
黑丝控cXL14
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
答:因为这个程序的初始条件是i=0,j=1;然后,判断条件是当j=5或者大于5的时候程序运行停止,而且在这个过程中j+=3即是j=j+3;执行的程序就是i=i+j;所以,当第一次运行时,i=0,j=1,符合j
当第一次运行时,i=0,j=1,符合j<5,在j=j+3时,j变成了4,然后i=i+j就是i=1+4=5,因此,结果是5;
这个解释中1+4=5中的1是第一次执行的结果吗
?也就是将第一次执行的结果直接代入第一次执行之中吗?
等等,我错了,不是这样理解的,应该是这样的。
定义 i=0,j=1;
再执行j=j+3;
然后返回再执行。
这样理解的话,应该会好理解一些。
第一次执行是i=0,j=1---→j=1+3=4<5,i=0+1=1(这里为什么不将j=1+3=4直接代入,而是将j=1代入? i=i+j中的j不是j=j+3执行后的j吗?)
第一次执行:i=0,j=1,符合j<5,执行i=i+j,则i=1,然后再执行j=j+3,则j=4;
第二次执行:i=1,j=4,符合j<5,执行i=i+j,则i=5,然后再执行j=j+3,则j=7;
第三次执行:i=5,j=7,不符合j<5,后面的就不执行了,就输出结果i=5了。
为您推荐:
其他类似问题
扫描下载二维码}

我要回帖

更多关于 ^O^ 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信