【发布时间】:2023-04-07 10:43:01
【问题描述】:
项目很大~400 行,所以我把它放在pastebin
只有 3 个函数需要两个文件才能工作
这是他们的名字
graph_dim(&argv[1]); //GLOBAL PARAMETER NBR_OF_BINS GETS UPDATED IN THIS FUNCTION!!!
FILE_graph_reading(&argv[1]); //PRINTS GRAPH ON SCREEN TOO!!!!
FILE_reading_global_params(&argv[2]);
在第 130-133 行。
这是我得到的:
Usage: Complete_Test6 graph_filename parameters_filename
当我将 if(argc != 2) 更改为 if(argc != 3) 时,它没有显示该消息,但程序仍然无法运行。但它应该是自动的。
消息是:
Matrix is unequal. Exiting...
在第 441 行。 提前致谢。
【问题讨论】:
-
你不应该需要所有这些 & 符号 - 只需调用
graph_dim(argv[1]);等等。另外,打开编译器警告 - 然后编译器会为你捕获很多类似这样的愚蠢错误。 -
@PaulR 我尝试了所有三个函数并得到了这个pastebin.com/mt5Q7KCp
-
好的——你的代码真的很乱,但看起来你应该自己传递
argv。打开编译器警告并学习使用调试器。还要学习一些通用的调试策略,比如缩小问题范围、分而治之等。 -
@PaulR 如何自己传递 argv?
-
例如
graph_dim(argv)。不过说真的,在尝试编写更多代码之前,您可能应该回到基础:阅读一本体面的 C 书籍,学习如何调试,打开编译器警告并理解它们的含义,否则您的编码只会是随机猜测,结果是灾难性的。
标签: c function command arguments line