【发布时间】:2014-03-02 10:31:11
【问题描述】:
由于参数类型的原因,我很难在程序中实现不同的功能。我正在编写一个程序,该程序从输入文件中读取三个字母序列,将这些序列存储在单独的数组中,然后比较数组并打印重叠百分比。我在我的程序中使用了以下函数:
函数
read_DNA(char sequence[])从输入读取DNA序列, 将其存储在数组sequence[]中,并以int形式返回读取的字母数。函数
compare_DNA(char seq1[], char seq2[], char seq3[], int n)将存储在seq1 []和seq2[]中的两个DNA 序列的比较序列存储在数组seq3[]中。这些 DNA 序列的长度假定为n。该函数以double的形式返回两个 DNA 序列之间的重叠百分比。函数
print_DNA(char seq1[], char seq2[], char seq3[], int n)打印输出存储在seq1[]和seq2[]中的DNA序列,以及它们的 根据上面解释的规则,比较序列存储在seq3[]中。长度 所有这些序列中的一个被假定为n。该函数不返回值。
如果函数read_DNA() 仅返回读取的字母数,我如何访问存储在每个序列中的实际字母?我不确定如何在我的函数compare_DNA() 中调用read_DNA() 并比较每个数组的实际字母。
任何帮助/建议将不胜感激。
【问题讨论】:
-
read_DNA(char sequence[])是一个引用调用。因此,这不会是一个问题 -
C 不支持引用调用。它传递一个数组变量,它在 C 中的工作方式类似于指针。
标签: c arrays function pointers parameters