【发布时间】:2015-05-17 19:55:08
【问题描述】:
有一个代码可以将关系转换为矩阵
当我编译它时,它给出了 2 个错误。我调试了它,但找不到真正的原因。
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main() {
int i=0,j=0,k=0;
char a[] = "12345";
char b[] = "abcde";
char r[] = "1c2b3e4d5a";
// Array Long
int LA = sizeof(a)-1;
int LB = sizeof(b)-1;
int LR = sizeof(r)-1;
//index function
int index(char arr[],char v){ // [Error] a function-definition is not allowed here before '{' token
for(k=0;k<sizeof(arr)-1;k++){
if(arr[k]==v){
return k;
}
}
}
// trying printf("%d\n%d\n%d\n",LA,LB,LR);
int rel[LA][LB];
for(i=0;i<LR;i+=2){
int indexa = index(a,r[i]);
int indexb = index(b,r[i+1]);
rel[indexa][indexb]=1;
}
//print the matrix
for(i=0;i<LA;i++){
for(j=0;j<LB;j++){
printf("%3d",rel[i][j]);
}
printf("\n");
}
return -1;
} //[Error] expected '}' at end of input
我该如何解决这个问题?
错误:
[错误] '{' 标记之前不允许函数定义
[错误] 输入结束时应为“}”
我将此代码从 java 代码转换为:Converting Relation to Matrix
【问题讨论】:
-
有什么错误?
-
还有,好像真的不是java代码,更像c。
-
不能在主体内定义函数
-
我在 // 点之后显示代码中的错误。
-
我至少在你的 for 循环 k