簡體   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