j+=2
取值时第二层for循环由j++改为j+=2,像下面这样!
# include<stdio.h>
# include<stdlib.h>
int main(){
int a[5][10];
for (int i=0;i<5;i++){
for(int j=0;j<10;j++){
a[i][j] = (rand()%256);
}
}
// 全部输出
for (int i=0;i<5;i++){
for(int j=0;j<10;j++){
printf("%d\t",a[i][j]);
}
printf("\n");
}
// 隔行输出
printf("\n");
for (int i=0;i<5;i++){
for(int j=0;j<10;j+=2){
printf("%d\t",a[i][j]);
}
printf("\n");
}
}
unsigned char a[5][10]; 定义那里多了个 *
#include <stdio.h>
#include <stdlib.h>
int main()
{
unsigned char a[5][10];
int i, j;
for(i = 0; i < 5; i++)
for(j = 0; j < 10; j++)
a[i][j] = rand() % 256;
for(i = 0; i < 5; i++)
{
for(j = 0; j < 10; j++)
printf("%d\t", a[i][j]);
printf("\n");
}
printf("\n");
for(i = 0; i < 5; i++)
{
for(j = 0; j < 10; j+=2)
printf("%d\t", a[i][j]);
printf("\n");
}
return 0;
}