C 打印矩阵闭合码块
下面的代码有什么问题? 当我尝试运行代码块时,代码块会关闭,为什么?我需要创建一个700行50列的矩阵,并用单词填充。可以使用静态矩阵还是动态矩阵?它的大小会不会导致堆栈溢出C 打印矩阵闭合码块,c,matrix,C,Matrix,下面的代码有什么问题? 当我尝试运行代码块时,代码块会关闭,为什么?我需要创建一个700行50列的矩阵,并用单词填充。可以使用静态矩阵还是动态矩阵?它的大小会不会导致堆栈溢出 #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++){
#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]);
}
}
}
#包括
#包括
#包括
int main(){
int i,j;
char mat_palavras[100][100];
对于(i=0;i这条线会导致问题
printf("%s\n" ,mat_palavras[i][j]);
不要使用%s
,而是使用%c
它现在可以正常工作了
#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]);
//}
}
}
#包括
#包括
#包括
int main(){
int i,j;
char mat_palavras[105][105];//扩展2D数组的大小
对于(i=0;iYou告诉printf
显示一个字符串,而不是一个字符。这意味着它需要一个指针。请使用%c
而不是%s
。在Windows中,每个进程的默认堆栈大小是1MB。对于“700行50列”,为什么要使用[100][100]而不是[700][50]的2D数组??@H2CO3试着理解每个人都必须从一开始就学习这些材料。没有人天生就知道这些东西。