求解一道C语言的题 int i=5,j j=++i+i++ printf("%d%d\n".i.j) j=(++i)+(++i) printf("%d%d\n"

请分析下,求解一道C语言的题 int i=5,j j=++i+i++ printf("%d%d\n".i.j) j=(++i)+(++i) printf("%d%d\n".i.j)
最新回答
时光巷陌

2024-09-18 03:05:11

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;
矜持萝莉

2024-09-18 04:59:49

9 11 13 15 17
如果单纯看奇数数列 则有新数列:
1
3 5 7
9 11 13 15 17
19 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
www.shopwang.net

2024-09-18 03:29:12

初值i=5,定义j
j赋值为++i加上i++,即j=6+6=11,i=7
j赋值为++i加上++i,即j=7+7=14,i=8
最纯洁De天使つ

2024-09-18 04:35:16


6+9+10=25
6+2+3+4+10=25
9+1+7+8=25
9+8+3+5=25
中间有些只用到过一次的字母数字可以互换,所以就我这组就有好多答案……
这题出的……