C中的矩阵错误

丹尼尔·迪亚斯(Daniel Dias)

我试图用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=yj=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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章