繁体   English   中英

涉及调用函数的 C 程序(初学者) - 我不明白

[英]C program involving call to functions(beginner) - I don't understand

目前我手头有一个问题,由于一些原因我不明白。 这是问题:

阙。 1. 给定以下程序,在每次调用 FindSum 后,显示主函数中变量 a、b、c、x、y、z 的值。 此外,在执行对 FindSum 的每个函数调用后,立即在 FindSum 中显示 a、b、c 的值。

这是代码:

#include <stdio.h> 
/*   function prototype declaration for FindSum   */
void FindSum(int, int, int *);
int main(void)
{
    int a=2, b=5, c=1, x=3, y=4, z=7; 
    FindSum (a, b, &c);    /* a first call to FindSum   */  
    printf(“first call in main %d  %d  %d  %d  %d  %d \n”, a, b, c, x, y, z);  
    FindSum (x, y, &z);    /* a second call to FindSum   */
    printf(“second call in main %d  %d  %d  %d  %d  %d \n”, a, b, c, x, y, z); 
    return  0;
}

/*   definition of FindSum   */
void FindSum (int a, int b, int *c)
{
    a += (b * 2);
    b += (b * 2);
    *c += (b * 2);
    printf(“in FindSum: %d  %d  %d \n”, a, b, *c); 

我的问题:1)哪个是主要功能? 2)问题是否要求我完成代码以产生所需的结果? 3)另外,在执行FindSum的每个函数调用后立即显示FindSum中a,b,c的值“findsum的函数调用在哪里

我目前正在上 C 编程课,教授没有很好地解释/英语水平不高。 因此,我在这些问题上略有挣扎。 希望有人能照亮我

1)哪个是主要功能?

名为main那个。

2)问题是否要求我完成代码以产生所需的结果?

不,它要求你像计算机一样在纸上“运行程序”并说出它会输出什么。

3)另外,“在执行FindSum的每个函数调用后立即显示FindSum中a,b,c的值”findsum的函数调用在哪里

它们在代码中用注释标记。 搜索“调用 FindSum”。

了解程序的基本结构很重要。 包括函数的工作原理以及传值和传引用的区别。 理解这一点是回答这些问题的关键。 “int main(void)”行是主函数声明。 左右括号定义了它的范围。 注意开头的变量 a,b,c,x,y,&z 的值。 把它们写在一张纸上。 FindSum 函数接受两个参数并输出一个参数。 执行计算并写下您的结果。 这回答了问题的第一部分。 然后逐步执行代码行并在每次调用 FindSum 后记下结果。 这不是要求您修改代码,而是简单地执行计算机将计算的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM