打印矩阵关闭代码块

时间:2013-08-08 05:51:28

标签: c matrix

下面的代码有什么问题? 当我尝试运行时,代码块会关闭,为什么?我需要创建一个包含700行和50列的矩阵并填充单词。是否可以使用静态矩阵或dinamic矩阵?不会因为它的大小而导致堆栈溢出吗?

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(){
int i,j;
char mat_palavras[100][100];


    for(i=0; i<100; i++){
        for(j=0; j<100; j++){
          mat_palavras[i][j]= 'i';
        }
    }
    for(i=0; i<100; i++){
        for(j=0; j<100; j++){
          printf("%s\n" ,mat_palavras[i][j]);
        }
    }
}

2 个答案:

答案 0 :(得分:2)

此行导致问题

printf("%s\n" ,mat_palavras[i][j]);

而不是%s,请使用%c

答案 1 :(得分:0)

现在可以很好地运作。

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(){
int i,j;
char mat_palavras[105][105]; //expand your 2D-array's size


    for(i=0; i<100; i++){
        for(j=0; j<100; j++){
          mat_palavras[i][j]= 'i';
        }
        mat_palavras[i][j] = '\0'; //Add this statement, '\0' is the end mark of string
    }
    for(i=0; i<100; i++){
        //for(j=0; j<100; j++){ //Delete this statement
          printf("%s\n" ,mat_palavras[i]);
        //}
    }
}