c语言 ...is used uninitialized in this function
来源:百度知道 编辑:UC知道 时间:2024/09/23 02:23:47
int findWord(char dictionary[][WORDSIZE + 1], int wordCount,char matrix[5][5][2]) {
int i=0;
int x=0;
int m=0;
int n=0;
int total=0;
char *b; //////// 问题出在这里,不论怎么改都不行//////
for(m=0; m<5; m++){
for(n=0; n<3; n++){
for(x=0; x<3; x++){
*(b+x)=matrix[m][n+x][0];
*(b+x+1)=matrix[m][n+x+1][0];
*(b+x+2)=matrix[m][n+x+2][0];
}
*(b+x+2)='\0';
printf("%s",b);
*(b+x+2)='\0';
printf("%s",b);
for(i=0; i<wordCount; i++) {
if(strcmp(b, dictionary[i])==0) {
printf("%s = %d\n",b ,matrix[m][n][1]+matrix[m][n+1][1]+matrix[m][n+2][1]);
total = total + matrix[m][n][1]+matrix[m][n+1][1]+matrix[m][n+2][1];
x=0;
}else{}
}
}
}
......
这是我们作业的一部分,是让输入25张卡片,每张卡片是一个字母,并且对应不同的分值。把卡片放入一个5X5的矩阵里,然后程序会告诉你哪些字母连成了一个单词,然后把组成单词的字母的分值
int i=0;
int x=0;
int m=0;
int n=0;
int total=0;
char *b; //////// 问题出在这里,不论怎么改都不行//////
for(m=0; m<5; m++){
for(n=0; n<3; n++){
for(x=0; x<3; x++){
*(b+x)=matrix[m][n+x][0];
*(b+x+1)=matrix[m][n+x+1][0];
*(b+x+2)=matrix[m][n+x+2][0];
}
*(b+x+2)='\0';
printf("%s",b);
*(b+x+2)='\0';
printf("%s",b);
for(i=0; i<wordCount; i++) {
if(strcmp(b, dictionary[i])==0) {
printf("%s = %d\n",b ,matrix[m][n][1]+matrix[m][n+1][1]+matrix[m][n+2][1]);
total = total + matrix[m][n][1]+matrix[m][n+1][1]+matrix[m][n+2][1];
x=0;
}else{}
}
}
}
......
这是我们作业的一部分,是让输入25张卡片,每张卡片是一个字母,并且对应不同的分值。把卡片放入一个5X5的矩阵里,然后程序会告诉你哪些字母连成了一个单词,然后把组成单词的字母的分值
典型的指针使用错误,你定义了一个指针变量,只能用来保存地址,如果这个地址所指向的空间不是系统分配给它的,那么你对这块内存的赋值是非法的,就好比你的“所作所为”:
char *b;
//下面的三重循环,你非法修改了至少 3*3*5 = 45 字节的内存值,要知道以前 windows 98 的蓝屏大部份是由于非法修改内存引起的,以后要小心~
for(m=0; m<5; m++){
for(n=0; n<3; n++){
for(x=0; x<3; x++){
*(b+x)=matrix[m][n+x][0]; //赋值没有错,但是是不被允许的,因为这块内存很可能是其它程序的资源
*(b+x+1)=matrix[m][n+x+1][0]; //一而再
*(b+x+2)=matrix[m][n+x+2][0]; //再而三
}
yi以前学过
不过全交给老师了
C语言编写程序,用户名为:used,密码为123
is used to ,used to各是什么意思 ?
it is used for writing
the traffic is --- than it used to be. A.very bad B.even worse C.very good D.more worse
what is the small bag used( )
what is the small bag used( )?
This feature is to be used for authorize
Is this school where you used to study?是什么从句?
English is used as a second 还是the second language?
China is no longer what she used to be