69,382
社区成员
发帖
与我相关
我的任务
分享
for(i=0,j=0;i<10;i+=2,j++)
b[j]=a[i]+a[i+1]; //这个地方应该会越界吧,当i=9时,i+1就是10
[/quote]不会出现9,i=i+2,到8就跳出了。
[/quote]
确实,不会,没看你的i+=2,这个相邻元素,理解上有分歧~[/quote]楼主的想法for(i=0,j=0;i<10;i+=2,j++)
b[j]=a[i]+a[i+1]; //这个地方应该会越界吧,当i=9时,i+1就是10
[/quote]不会出现9,i=i+2,到8就跳出了。for(i=0,j=0;i<10;i+=2,j++)
b[j]=a[i]+a[i+1]; //这个地方应该会越界吧,当i=9时,i+1就是10
[/quote]不会出现9,i=i+2,到8就跳出了。
#include<stdio.h>
#define SIZE 10
int main()
{
int a[SIZE], b[SIZE]={0};
int i, j;
for(i = 0; i < SIZE; i++)
scanf("%d", &a[i]);
for (i = 0, j = 0; i < SIZE-1; i++) {
b[j++] = a[i] + a[i+1];
}
for (i = 0; i < j; i++)
printf("%d%c", b[i], (i+1) % 3 ? ' ':'\n');
/*
for(i=0,j=0;i<10;i+=2,j++)
b[j]=a[i]+a[i+1];
for(j=0;j<5;j++){
printf("%3d",b[j]);
if((j+1)%3==0||(j+1)==5)printf("\n");
}
*/
return 0;
}
for(i=0,j=0;i<10;i+=2,j++)
b[j]=a[i]+a[i+1]; //这个地方应该会越界吧,当i=9时,i+1就是10
#include<stdio.h>
int main()
{
int a[10]={0},b[5]={0},i,j;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0,j=0;i<10;i+=2,j++)
b[j]=a[i]+a[i+1];
for(j=0;j<5;j++){
printf("%3d",b[j]);
if((j+1)%3==0||(j+1)==5)printf("\n");
}
return 0;
}