这就是代码:
#包括<;标准h>;
#包括<;stdlib.h>;
int main()
{
int-linhas=0,col=0,num=0,i=0,pos1[100];
int pos[100];
scanf(“d%d%d”、“linhas”、“col”、“num”);
int matriz[linhas][col];
对于(i=0;i<;num;i++){
scanf(“c%d”、“pos[i]、”pos1[i]);
}
对于(i=0;i<;num;i++){
pos[i]=97;
}
返回0;
}
这很简单,我声明了两个数组,一个用于存储字符的值(pos[]),另一个用于存储整数值(pos1[]),它可以工作:D
问题是,如果我声明一个矩阵ex:矩阵[linhas][col],我的代码不会真正存储字符的值,如果我取下它,它会开始正常存储,同样,我是否在获得行和列(linhas和col)后声明矩阵也无关紧要或者如果我在代码末尾声明它。我不知道问题出在哪里,如果有任何提示,我将不胜感激
int pos[100];
scanf(“d%d%d”、“linhas”、“col”、“num”);
int matriz[linhas][col];
对于(i=0;i<;num;i++){
scanf(“c%d”、“pos[i]、”pos1[i]);
}
%c格式说明符将读入一个字符,但它需要一个字符的地址才能读入。你给它一个int的地址
最简单的修复方法是将pos更改为char pos[100]。另一种可能的修复方法是:
(i=0;i<;num;i++)的
{
字符c;
scanf(“c%d”、“c”、“pos1[i]);
pos[i]=c;
}