I/O是什么意思
12个回答
展开全部
i += 1其实就相当于i = i + 1
在讲课时老师会说“i++是i=i+1的简略形式”。不过很遗憾的告诉你,不是任何时候都可以互换。
当一条语句只有“i=i+1”时,此时是可以互换的。
但是当需要用到语句的返回值时,就要小心了。i++返回值为i,然后将i+1;i=i+1返回的是i+1(赋值语句之后的i值):如
if(i++) a=0;
这条语句是说“如果i不等于0,a赋值为0,并且i进行加一操作”,此时等价于:
if(i!=0){i++;a=0;}(注意,i++操作是在判断过if条件后做的,不是条件成立后才做,这里的写法结果没错,但严格来说不等价,是错误的,只显示操作的先后关系)
if(i=i+1) a=0;
这是说“首先将i加1,然后看i是否为0,如果不为0,a赋值为0。此时等价于:
i=i+1;
if(i) a=0;
有人会给你举i++和++i同时出现在一条语句中的例子。个人认为,那种例子没有必要看,也没有必要弄懂。因为那种例子“没有”正确答案(编译器不同,答案不一样),只要记得不要那么使用就对了。
在讲课时老师会说“i++是i=i+1的简略形式”。不过很遗憾的告诉你,不是任何时候都可以互换。
当一条语句只有“i=i+1”时,此时是可以互换的。
但是当需要用到语句的返回值时,就要小心了。i++返回值为i,然后将i+1;i=i+1返回的是i+1(赋值语句之后的i值):如
if(i++) a=0;
这条语句是说“如果i不等于0,a赋值为0,并且i进行加一操作”,此时等价于:
if(i!=0){i++;a=0;}(注意,i++操作是在判断过if条件后做的,不是条件成立后才做,这里的写法结果没错,但严格来说不等价,是错误的,只显示操作的先后关系)
if(i=i+1) a=0;
这是说“首先将i加1,然后看i是否为0,如果不为0,a赋值为0。此时等价于:
i=i+1;
if(i) a=0;
有人会给你举i++和++i同时出现在一条语句中的例子。个人认为,那种例子没有必要看,也没有必要弄懂。因为那种例子“没有”正确答案(编译器不同,答案不一样),只要记得不要那么使用就对了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询