假设i=2,执行下列语句后i的值为()
switch( i )
{
case 1 : i ++;
case 2 : i --;
case 3 : ++ i; break;
case 4 : -- i;
default : i ++;
}
#include <stdio.h>
int main()
{
int i = 2;
switch( i )
{
case 1 : i++;
case 2 : i--; //break;
case 3 : ++i; break;
case 4 : --i;
default : i++;
}
printf("i = %d\n",i);
return 0;
}
答案:
stu@hq:$ gcc 02_++i和i++.c
stu@hq:$ ./a.out
i = 2 ++与i++不一样:
i++:先赋值,然后再做++ 等效于-> i = i; i =(i + 1)
++i:先运算,然后再做赋值 等效于-> i =(i + 1); i = i ;
i--:先赋值,然后再做-- 等效于-> i = i; i =(i - 1)
--i:先运算,然后再做赋值 等效于-> i =(i - 1); i = i ;