C下标值既不是数组也不是指针,也不是向量

时间:2015-04-02 20:56:11

标签: c

你们能帮助我做功能吗?我的想法是打印“标签”,但我不明白出了什么问题

#include <stdio.h>
#define MAXL 50
#define MAXC 50
unsigned int linhas;
unsigned int colunas;
int segC [MAXL];
int segL [MAXC];
char tab[MAXL][MAXC];

void c (){
    int l,c,temp;
    scanf("%d %d",&linhas,&colunas);
    for (l=0;l<linhas;l++){
        scanf("%d[^'']",&temp);
        segC[l]=temp;
    }
    for (c=0;c<colunas;c++){
        scanf("%d[^'']",&temp);
        segC[c]=temp;
    }

    for(l=0;l<=linhas;l++){
        for(c=0;c<colunas;c++){
            scanf("%c",&tab[l][c]);
        }
    }


 }

char m (linhas,colunas,segC,segL,tab){
    int l,c;
    int tempi;
    char tempc;
    for(l=0;l<=linhas;l++){
        for(c=0;c<colunas;c++){
            printf("%c",tab[l][c]);
        }
        tempi=segL[l];
        printf("%d\n",tempi);
    }
    for(c=0;c<colunas;c++){
        tempi=segC[c];
        printf("%d",tempi);
    }
    printf("\n");
}

char h (int line){      
}
int main (){
    c();
//m(linhas,colunas,segC,segL,tab);
}

2 个答案:

答案 0 :(得分:0)

您缺少变量类型:

char m (linhas,colunas,segC,segL,tab)

答案 1 :(得分:0)

重写这个函数:

char m() {
  /* ... */
}

您不需要提供全局变量作为函数的参数;实际上,局部函数参数会影响全局变量。

最后,避免省略参数和变量类型;至少在C99中被弃用甚至是非法的(省略类型默认为int,这导致了这里的问题。)

更好的是,将它们声明为main()中的局部变量,并通过伪引用将它们传递给m()c()

char m( unsigned int linhas, unsigned int colunas, int **segC, int **segL, char ***tab ) {
  /* ... */
}

调用时传递segC,segL和tab的地址。