1
程序只是读取文件计数字符串及其长度。但字符串的计数器p给我一个错误的结果。如果我只是打印计数p,结果将是正确的,但如果我打印元素a [i] [1](它应该是p),它会给我一个错误的结果。对于在元件的示例的[0] [1] - 它打印12,在那里它被认为是1。c - 数组错误计数结果
int main(int argv,char* argc[]) {
FILE *f = fopen("d.txt","r");
int a[700000][1];
char str[120];
int i=0,l,p=0,n;
while (fgets(str,120,f)) {
l=strlen(str)-1;
p++;
a[i][0]=l;
a[i][1]=p;
i++;
}
// if I printf("%d",p); result will be correct
n=i-1;
for (i=0;i<=3;i++) {
printf("%d\n",a[i][1]); //result - 12 6 4 8
}
close(f);
return(0);
}
d.txt
未有\ 0 一个\ 0 是\ 0 这里\ 0
结果将是 - 4 2 4 4
我们不能没有你的输入数据复制本。请按照指示出示您的[MCVE]。 –
这是什么:'int a [700000] [1];' ?? –
int a [5] [1];看上去好些? –