C 将数字从文件复制到数组时使用printf时出现问题
我的代码有这个问题。Im使用for循环将我打开的文件中的一些数字复制到数组中。同时,我在fscanf语句之后放了一个printf语句,以查看我想要的值是否真的输入了arr。这样做很好,只是在完成时在数组的末尾放了一个额外的数字。我不明白为什么会这样。起初,我认为我在文件中使用了错误的元素数,或者我在使用malloc时弄糟了,但是这些都很好。谁能告诉我出了什么问题吗。我不能分享代码,直到一个特定的日期,因为我是一个学生,这将被视为作弊 编辑:下面是代码中正在发生的部分的链接。语言是C。代码用于读取数字1 7. 5. 6. 8. 3. 9 4. 2. 10 从一个文件中创建了一个,但它总是读取1 7. 5. 6. 8. 3. 9 4. 2. 10 1 编辑:在函数声明中,我指的是char*file\u name而不是int-char*filenameC 将数字从文件复制到数组时使用printf时出现问题,c,printf,scanf,arr,C,Printf,Scanf,Arr,我的代码有这个问题。Im使用for循环将我打开的文件中的一些数字复制到数组中。同时,我在fscanf语句之后放了一个printf语句,以查看我想要的值是否真的输入了arr。这样做很好,只是在完成时在数组的末尾放了一个额外的数字。我不明白为什么会这样。起初,我认为我在文件中使用了错误的元素数,或者我在使用malloc时弄糟了,但是这些都很好。谁能告诉我出了什么问题吗。我不能分享代码,直到一个特定的日期,因为我是一个学生,这将被视为作弊 编辑:下面是代码中正在发生的部分的链接。语言是C。代码用于读取
您的代码中存在多个问题:
- 函数原型中存在语法错误:
应仅为int char*filename
const char*filename
- 您不需要测试
的返回值。如果程序无法打开文件,您将有未定义的行为fopen()
- 您不需要测试
是否成功将文件内容转换为整数。您应该验证它返回的fscanf()
,如果没有,则处理错误1
printf
输出出现的任何内容
你应该在问题中以文本形式发布整个程序,以便进行更完整的分析和可能的更正。你的老师可能认为与班上其他学生共享代码是作弊。无论如何,如果使用不同的打印方法会发生什么?(我不知道你在用什么语言,所以我不能给你一个选择)不幸的是,没有代码很难帮助你。这就像我让你告诉我我举了多少个手指,但却不让你看到我的手。考虑创建一个小的测试用例来封装你的问题,它不会影响你的项目。我已经编辑了这个问题,在你可以粘贴代码文本而不是图像的情况下回答这些问题。不管怎样,我们更喜欢这样。我会的,但就像我说的,我现在还不能,我把它放在别人让我放一段代表我所寻找的东西的片段中。语法实际上是正确的。这是一个函数,在通过将文件内容转换为整数获得计数后调用,如果返回1,则应计算该数字。在某些情况下,我们应该使用一些规范。在这种情况下,我不能使用const char*文件名。很抱歉,我坚持认为,
int char*文件名
是一个语法错误。你能展示一下在你的代码中是如何调用函数ArrayFiller
的吗?对不起,我知道你们指的是什么了,这是我输入的错误。代码中不是这样的。