用scanf给二维数组赋值

如题所述

二维数组需要用双重循环完成:

#include<stdio.h>
#define N 10
#define M 20
void main() { int i,j,a[N][M];
  for ( i=0;i<N;i++ ) for ( j=0;j<M;j++ ) scanf("%d",&a[i][j]);
  for ( i=0;i<N;i++ ) {
    for ( j=0;j<M;j++ ) printf("%d ",a[i][j]);
    printf("\n");
  }
}
如果存单词:
#include<stdio.h>
#define N 100 //最多存100个单词
#define M 20 //每个单词最长19字符
void main() { int n,i; char a[N][M],*p;
  n=0;
  while ( 1 ) { //约定以句号(英文的)结尾
    scanf("%s",a[n]); p=a[n]; n++; while ( *p ) p++; p--;
    if ( *p=='.' ) { *p=0; break; } 
  }
  printf("共%d个单词:\n",n);
  for ( i=0;i<n;i++ ) prnitf("%s\n",a[i]);
}

追问

我想要的是将一句话,像I can see you.将没个单词存入二维数组的每个元素

追答

温馨提示:答案为网友推荐,仅供参考