C语言中的i++和++i的区别与联系

1、单独使用

在C语言中,我们使用i++来实现自增操作,同样++i也适用于自增操作的,这时的i++++ii=i+1是等价的。

#include <stdio.h>
int main()
{
	int i,j;
	i=0;
	j=0;
	i++;
	++j;
	printf("i=%d,j=%d",i,j);
}

输出结果为i=1,j=1

2、在赋值语句中

a=i++ 先将i的值赋值给a,然后i自增
b=++i i先自增,然后再将i的值赋值给b

#include <stdio.h>
int main()
{
	int i,j,a,b;
	i=j=0;
	a=i++;
	b=++j;
	printf("a=%d,i=%d,b=%d,j=%d",a,i,b,j);
}

输出结果:a=0,i=1,b=1,j=1

3、在判断表达式中:

同赋值语句中的功能相似

  1. i++:先执行判断,再加1
#include<stdio.h>
 
int main()
{
	int i=0;
 
	while(i++)
 
	 { printf("i=%d\n",i);
 
	   if(i==3)  break;
 
	 }
 
	printf("i=%d\n",i);
}

输出结果为 i=1

分析:i++先把i的值0拿出来做判断条件,此时while(0)条件为假,所有不执行while循环体,但是判断完成后,i执行+1动作(i=i+1),所以i=1,输出值为1;

  1. ++i:先自增加1,再执行判断
#include<stdio.h>
 
int main()
{
	int i=0;
 
	while(++i)
 
	 { printf("i=%d,",i);
 
	   if(i==3)  break;
 
	 }
 
	printf("i=%d\n",i);
}

输出结果为:i=1,i=2,i=3,

分析:++i,执行过程先把i的值执行i=i+1,此时i=1再进行判断,所有while(1)条件为真,然后在执行循环体,输出i=1回车换行,if不成立,继续循环;依次类推

参考文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值