C语言++的问题.

[复制链接]
查看11 | 回复1 | 2009-7-8 11:17:13 | 显示全部楼层 |阅读模式
{
int i=1,j=1,k=2;
if((j++ ||k++ )&&i++ )
printf("%d,%d,%d\n",i,j,k);
}
输出2 2 2说明步骤

回复

使用道具 举报

千问 | 2009-7-8 11:17:13 | 显示全部楼层
(j++ ||k++ )&&i++ 先将j的值作为||左边的结果,就是1,那么显然成立,然后j加上1,就是2了。由于||的短路作用,后面的k++不计算。然后做&&右边,取i的值作为结果,显然成立,然后i加上1,就是2. 由于if条件成立,打印结果,ijk的结果分别是 2 2 2. 其中的k没有变化。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行