几道C题,大家看看.该怎么解决
几道C题,大家看看.
1 void sum(int *a) /*这里什么意思?
{ a[0]=a[1];}
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
for(i=2;i> =0;i--) sum (&aa[i]);
printf (“%d\n”,aa[0]);
}
2 main()
{ int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};
Int i=0,j=0,s=0;
while (i++ <4)
{ if(i==2|| i==4) continue;
j=0;
do{s+=a[i][j]; } while(j <4);
}
Printf(“%d\n”,s);
}
3 main()
{
int a,b,d=25;
a=d/10%9;
b=a&&(-1);
printf(“%d,%d/n”,a,b);
}
4
main()
{ int i=0,a=0;
while(i <20)
{ for(;;)
{ if((i%10= =0) break; /*BREAK去哪了?*/
else i--;
}
i+=11; a+=i;
}
printf(“%d\n”,a);
------解决方案--------------------
1.int *a
这是说明参数是个指向int的指针
4.break
只跳出上级循环,在这里就是跳出for(;;),但没跳出while(i <20)
2,3两题不知道你想问什么
------解决方案--------------------
1void sum(int *a) /*这里什么意思?
{ a[0]=a[1];}
--------------------
a[0]=a[1];
其实就是
*a = *(a + 1);
而a是传入的指针!
------解决方案--------------------
1结果:4
2 是死循环 由于j, 若把do前面的j=0 去掉,do 内部加j++, 结果为52;
3 结果:2 1(LZ似乎把\n写作/n 了)
4 结果32
1 void sum(int *a) /*这里什么意思?
{ a[0]=a[1];}
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
for(i=2;i> =0;i--) sum (&aa[i]);
printf (“%d\n”,aa[0]);
}
2 main()
{ int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};
Int i=0,j=0,s=0;
while (i++ <4)
{ if(i==2|| i==4) continue;
j=0;
do{s+=a[i][j]; } while(j <4);
}
Printf(“%d\n”,s);
}
3 main()
{
int a,b,d=25;
a=d/10%9;
b=a&&(-1);
printf(“%d,%d/n”,a,b);
}
4
main()
{ int i=0,a=0;
while(i <20)
{ for(;;)
{ if((i%10= =0) break; /*BREAK去哪了?*/
else i--;
}
i+=11; a+=i;
}
printf(“%d\n”,a);
------解决方案--------------------
1.int *a
这是说明参数是个指向int的指针
4.break
只跳出上级循环,在这里就是跳出for(;;),但没跳出while(i <20)
2,3两题不知道你想问什么
------解决方案--------------------
1void sum(int *a) /*这里什么意思?
{ a[0]=a[1];}
--------------------
a[0]=a[1];
其实就是
*a = *(a + 1);
而a是传入的指针!
------解决方案--------------------
1结果:4
2 是死循环 由于j, 若把do前面的j=0 去掉,do 内部加j++, 结果为52;
3 结果:2 1(LZ似乎把\n写作/n 了)
4 结果32