int i=5,j ;j=(++i)+(i++); //++i是先加1在赋值,i++是先使用再加1,所以此处j=6+6=12;i=7;printf("%d%d\n".i.j); j=(++i)+(++i) ; //所以此处j=9+9=18(统一加,再运算);i=9;printf("%d%d\n".i.j);例如:int n,i=5;n=(i++)+(i++)+(i++)=5+5+5=15 此时i=8;n=(++i)+(++i)+(++i)=8+8+8=24 此时i=8;
9 11 13 15 17如果单纯看奇数数列 则有新数列:13 5 79 11 13 15 1719 21 23 25 27 29 31第n行有2n-1个数,那么第n行的最后一个数则为2*((1+2n-1)*n/2)-1=2n²-1 如果n=31 也就是第31行的最后一个数为2*31*31-1=1921<2009如果n=32 最后一个数为2*32*32-1=2047>2009说明2009在新数列的第32行。 新数列的第n行是与原数列的第i行的关系为i=2n-1所以i=2*32-1=63如果是1923 表示新数列的第32行第一个数,1925表示第二个数。2009则是第(2009-1921)/2=44个数所以i+i=63+44=107