gpt4 book ai didi

c - 输入文本文件的结果 int 值不存储在数组中。 C语言

转载 作者:行者123 更新时间:2023-11-30 19:03:19 24 4
gpt4 key购买 nike

//结果值似乎没有存储在 tab[] 数组中。循环结束后数组为空。我希望它是一个动态数组,这样我就不需要声明数组的具体大小。示例文本文件输入位于代码末尾。实际的文本输入大约有1000行。帮助表示感谢。谢谢//

#include <stdio.h>
#include <stdlib.h>
void read_ints(const char* file_name, int *result);

int main()
{
int result =0;
read_ints("numbers.txt", &result);
}

void read_ints (const char* file_name, int *result)
{
FILE* file = fopen ("numbers.txt", "r");
int i = 0;
int n=0; //row number//
int m;
int tab[m]; //array//
if (file == NULL)
{
printf("unable to open file %s", file_name);
}
while ( fscanf (file, "%d", &i) ==1)
{
n++;
printf ("%d\n ", i);
*result += i;
printf("\n we are at row nr. %d sum of this number and all numbers before is: %d\n", n, *result);
tab[n]==*result;
}
printf("\nnumber from row number one is ... : %d\n", tab[1]); //this does not work properly //
fclose (file);
}

数字.txt:

-14
+15
+9
+19
+18
+14
+14
-18
+15
+4
-18
-20
-2
+17
+16
-7
-3
+5
+1
-5
-11
-1
-6
-20
+1
+1
+4
+18
+5
-20
-10
+18
+5
-4
-5
-18
+9
+6

最佳答案

int m;
int tab[m];

这是未定义的行为。一个像样的编译器应该有 warned you对这个。始终在您运行的所有编译中启用所有警告,并将所有警告视为错误。

不存在自动增长的数组,或者可以容纳任意数量元素的数组。您可以尽早决定大小并坚持使用,或者使用动态数组(查找)并显式手动调整大小根据需要进行。

关于c - 输入文本文件的结果 int 值不存储在数组中。 C语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54098951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com