fps rts rpg aos:c语言1道小问题

来源:百度文库 编辑:神马品牌网 时间:2024/05/11 02:15:34
14.34

以下程序中的函数reverse的功能是将a所指数组重的内容进行逆置
void reverse(int a[], int n) {int i,t; for(i=0;i<n/2;i++)
{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} }
main() {int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0;
reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}
程序运行后结果是:22
void reverse(int a[], int n)是什么意思
{int b[10]={1,2,3,4,5,6,7,8,9,10是什么意思
s+=b[i];是什么意思
reverse(b,8);是什么意思

void reverse(inta[] int n)定义一个函数reverse(\"重置\"的意思),它有两个参数 一个参数是一个整数数组,另一个参数是另一个整数.其实它与其它函数是一样的,例如sqrt()它就包含一个参数,这个函数的作用就是求那个参数的平方根.
int b[10]....那句是对b[]进行初始化,即,b[0]=1,b[1]=2,b[2]=3......b[9]=10.
s+=b[i]即s=s+b[i],S实现对b[i]的累加,在求1+2+3+4...+100时也用到了这样一个累加器.
以下是运行reverse(b,8)过程.
t=a[0]=1 a[0]=a[8-1-0]=b[7]=8 a[7]=t=1
t=a[1]=2 a[1]=a[8-1-1]=b[6]=7 a[6]=t=2
t=a[2]=3 a[2]=a[8-1-2]=b[5]=6 a[5]=t=3
t=a[3]=4 a[3]=a[8-1-3]=a[4]=5 a[4]=t=4
在上面,a[]即b[];
此时,a[0]=8 a[1]=7 a[2]=6 a[3]=5 a[4]=4 a[5]=3 a[6]=2 a[7]=1;
进入for 循环:
s=b[6]=2 s=b[6]+b[7]=3 s=b[6]+b[7]+b[8]=12
s=b[6]+b[7]+b[8]+b[9]=22
输出:
22

你写的代码太恶心了
要一条语句一行才好
void reverse(int a[], int n)
{
int i,t;
for(i=0;i<n/2;i++)
{
t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
}
}
main() {
int b[10]={1,2,3,4,5,6,7,8,9,10};
int i,s=0;
reverse(b,8);
for(i=6;i<10;i++) s+=b[i];
printf("%d\n",s);
}

我看你是压根没有看C语言书的原因,自己还是老老实拭的看看书把!

这种问题也要问???回去看看书再来吧