1)i++和++i他所能实现的功能是一样的,但是两者的运算顺序是完全不同的,我们简单的来看下两者的运算区别。
①i++:n=i++;当i为3的时候,实际我们得到n的值是3,所以后缀++是先赋值后加加的。
②++i:n=++i;当i为3的时候,实际我们得到n的值是4,所以前缀++是先加加后赋值的。
2)两者所能实现的功能是一样的,但是在有些实际的代码中还是需要注意的。
例如下面的函数:
void exchang(char a[],int c){
int i=0,j=0;
for(i=j=0;s[i]!='\0';i++){
if(a[i]!=c){
a[j++]=a[i];
}
}
a[j]='\0';
}
a[j++]=a[i];和a[j]=a[i]; j++;是等价的
if(a[i]!=c){
a[j]=a[i];
j++;
}
再来看一个例子
if(b!='\n'){
s[i]=c;
++i;
}
等价于
if(b!='\n'){
s[i++]=c;
}