
一道c语言数组问题
以下程序的输出结果是()f(intb[],intm,intn){inti,s=0;for(i=m;i<n;i=i+2)s=s+b[i];returns;}main(){i...
以下程序的输出结果是( )
f(int b[ ],int m,int n)
{int i,s=0;
for(i=m;i<n;i=i+2) s=s+b[i];
return s;
}
main( )
{int x,a[ ]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
printf("%d\n",x);
}
答案是10
请问怎么计算? 展开
f(int b[ ],int m,int n)
{int i,s=0;
for(i=m;i<n;i=i+2) s=s+b[i];
return s;
}
main( )
{int x,a[ ]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
printf("%d\n",x);
}
答案是10
请问怎么计算? 展开
5个回答
展开全部
#include<stdio.h>
f(int b[ ],int m,int n)
{
int i,s=0;
for(i=m;i<n;i=i+2)
s=s+b[i];
return s;
}
main( )
{
int x,a[ ]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
printf("%d\n",x);
}
分析:
f()函数循环过程
1>
m=i=3.n=7 3<7成立
s=4 i=5
2>
m=i=5.m=7 5<7成立
s=10 i=7
3>
m=i=7.n=7 7>7不成立
循环结束
输出X等于返回值S 就等于10
f(int b[ ],int m,int n)
{
int i,s=0;
for(i=m;i<n;i=i+2)
s=s+b[i];
return s;
}
main( )
{
int x,a[ ]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
printf("%d\n",x);
}
分析:
f()函数循环过程
1>
m=i=3.n=7 3<7成立
s=4 i=5
2>
m=i=5.m=7 5<7成立
s=10 i=7
3>
m=i=7.n=7 7>7不成立
循环结束
输出X等于返回值S 就等于10
展开全部
函数的f的意思是计算数组b的下标从m开始到下标n-1,步长为2的元素的和。
f(a,3,7) = a[3]+a[5] =4+6 = 10;
数组的下标是从0开始的。
f(a,3,7) = a[3]+a[5] =4+6 = 10;
数组的下标是从0开始的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b[3] = 4,
b[5] = 6.
所以结果是 10.
注意: 数组的初始位是从【0】开始的, 就是说, a[0] = 1.
b[5] = 6.
所以结果是 10.
注意: 数组的初始位是从【0】开始的, 就是说, a[0] = 1.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序进入f 函数后,运行到for循环时,i=m=3 ;n=7; b[]={1,2,3,4,5,6,7,8,9};
进行第一次for循环时,s=0+b[3]=0+4=4(b[3]即b[]数组的第四个值),i=3+2=5;满足<n(即7)可以进入下一次循环;在第二次for循环中,s=4+b[5]=4+6=10(b[5]即b[]数组的第六个值),i=5+2=7;此时i 已不满足<n;循环结束,返回s值即10;所以s=f函数的返回值即10;
加油!
进行第一次for循环时,s=0+b[3]=0+4=4(b[3]即b[]数组的第四个值),i=3+2=5;满足<n(即7)可以进入下一次循环;在第二次for循环中,s=4+b[5]=4+6=10(b[5]即b[]数组的第六个值),i=5+2=7;此时i 已不满足<n;循环结束,返回s值即10;所以s=f函数的返回值即10;
加油!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
小于N在第一个函数里指的是数组的每一个元素,因为第二个函数中ch是二维的数组,所以传到第一个函数里时N代表的就是ch的一维数组个数或者说ch的行数. 比如说 ch=,那么它的各个元素就是双引号里面的每个字符串(一维数组),行数就是4(即N),列数可以是大于等于3的任何数(即M). 第一个函数是字符比较,如果*ss)[M], *t分别是二维数组和一维数组的话就是字符串比较. 既然i<N这个语句是控制字符串元素个数的,所以不管是取5还是8都是ch中的元素与t[]比较,而ch中只有5个元素小于8个,C中对于溢出的字符数组不予报错,只比较5个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询