在另一个函数中调用时,为什么我的指针没有给出正确的值?

时间:2012-11-18 21:10:55

标签: c

这是我的代码:

void journal (long accounts[MAX], char debcred[MAX], double amount[MAX], int *totalinput);  

=函数im调用

    if (option == '2')
        journal(accounts, debcred, amount, &totalinput);

=调用函数的条件

void journal (long accounts[MAX], char debcred[MAX], double amount[MAX], int *totalinput) {

int i = 0;

printf ("\n");
printf ("\t\t\tGeneral Journal\n");
printf ("Account  Description\t\t\t     Debit   Credit\n");
printf ("-------  ------------------------------   -------- --------\n");


for (i = 0; i < totalinput; i++)
{
    printf ("%ld", accounts[i]);

    if (debcred[i] == 'd')
        printf ("\t\t\t\t\t%lf\n", amount[i]);

    else if (debcred[i] == 'c')
        printf ("\t\t\t\t\t\t%lf\n", amount[i]);
}

}

在我运行它的程序中,我得到一个无限循环。我猜它是因为没有正确调用totalinput指针。

我尝试在我的日记函数中打印totalinput变量来查看我得到的数字,我得到260000或类似的东西,这不是它的本质!有没有人看到我如何调用它的问题?

2 个答案:

答案 0 :(得分:3)

哇我发布问题后,我一直在弄清楚答案。我只是在journal函数中的totalinput变量之前放了一个'*',它正确调用...

答案 1 :(得分:0)

通过引用指针

调用您的函数