自加:
关于i++与及++i是两个式子:
++i是i自加一,然后返回现在的i,即,如果i = 1;那么a = ++i就是a = 2;
i++是i自加一,然后返回原来的i,即,如果i = 1;那么a = i++就是a = 1;
以上两个运行了之后,i都等于2;
当然在有些的书中出现过 i+++++i;他解析的是(i++)+(++i);然而应该是那种编译器厉害吧,vc++6.0根本通不过编译((i++)+(++i)可以,i+++++i不行);
然后是((i++)+(i++)+(i++))这个式子对i进行了多次的改变,并不建议一个式子对一个变量的值进行多次修改,这样虽然编译能过,但对于不同的编译器,值是不同的,这样的代码,我认为,是错的!(不解释)
然后关于自加的应用,指针变量中;
int *p = &a[0];
p++;则是将p指针的指向向后移动一个位置,此时p指向a[1];
同理自减也差不多;
逗号运算符:
逗号运算符是一个分隔符,就是将各个数或则式子分开,比如 a = (1,2);运行时先运行括号里面的a = 2;然后如果是a = 1,2;那么a就是等于1,因为程序运行是从做往右运行的;然后关于逗号还有一句就是这种情况,int a = 1,2;可能一下子就会先入为主说a = 1;其实这个式子编译都通不过,因为这是在申明变量,逗号间隔开只是在申明不同的变量,然而2是常量,不能被int任命为整型变量;当然int a = (1,2);就能够通过编译,因为括号的优先级比逗号大,结果a = 2;
然后,就没有了,请踩,谢谢。