我试图用C编写一个具有矩阵的程序,并查找某个位置是否存在数字,但出现以下错误:
[解决了]
funcao.c:8:2: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
for(i=0; i=y; y++){
^
funcao.c:9:3: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
for(j=0;j=k; k++){
^
funcao.c:10:4: error: stray ‘\342’ in program
if(∗(∗(m+i)+j)==numero){
^
funcao.c:10:4: error: stray ‘\210’ in program
funcao.c:10:4: error: stray ‘\227’ in program
funcao.c:10:4: error: stray ‘\342’ in program
funcao.c:10:4: error: stray ‘\210’ in program
funcao.c:10:4: error: stray ‘\227’ in program
funcao.c:10:22: warning: comparison between pointer and integer [enabled by default]
if(∗(∗(m+i)+j)==numero){
^
make: *** [funcao.o] Error 1
我的代码是这样的:
int find_matriz(int **m, int number, int y, int k){
int find=0;
int i,j;
for(i=0; i<y; y++){
for(j=0;j<k; k++){
if(*(*(m+i)+j)==number){
find=1;
}
}
}
return find;
}
我在网上或此处找不到有关矩阵和此错误的任何信息。有人可以帮我吗?
[未解决]
更改代码后,我不断收到错误消息:
make: *** [run] Segmentation fault
主要代码:
int main(void) {
int m[5][2]={{5,2},{2,1},{4,7},{6,7},{43,98}};
int y=2;
int k=1;
int number=2;
int find=find_matriz(m, number, y, k);
printf("find %d\n",find);
return 0;
}
for(i=0; i=y; y++){
for(j=0;j=k; k++){
请参阅这些bot h循环及其条件i=y
和j=k
。您为它们分配警告所针对的值。
大概这样做-
for(i=0; i<y; i++){
for(j=0;j<k; j++){
和这个 -
if(∗(∗(m+i)+j)==number){
这些不是用于取消引用指针的运算符。
使用*
解引用-
if(*(*(m+i)+j)==number){ // or simply write m[i][j]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句