[問題] 請教關於函數的問題

看板C_and_CPP (C/C++)作者 (http://0rz.tw/4951Z )時間16年前 (2009/02/13 14:15), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
書上看來的 不知道為什麼 /*使用add()函數*/ #include <stdio.h> #include <stdlib.h> int add(int,int) /* add()函數的原型 */ int main(viod) { int sum, a=5, b=3; sum=add(a,b); /* 呼叫add()函數,並把傳回值設給sum */ printf("%d+%d\n",a,b,sum); system("pause"); return 0; } int add (int num1, int num2) /* add()函數的定義 */ { int a; /* 於add()函數裡宣告變數a */ a=num1+num2; return a: /* 傳回num1+num2的值 */ } 上面的主程式裡的add函數的變數 明明是a和b 為什麼定義中的add函數的變數 卻變成num1,num2 而且很神奇的是它居然最後知道 num1 = a = 5 , num2 = b = 3 -- 情感的投入、需求(欲望)、懼怕、防衛 是最容易讓人失去理智與客觀的四大陷阱 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.125.226.169

02/13 14:24, , 1F
call by value
02/13 14:24, 1F

02/13 14:29, , 2F
main 的 a 把值複製一份給 add 的 num1
02/13 14:29, 2F

02/13 15:14, , 3F
問這個 ...
02/13 15:14, 3F

02/14 02:35, , 4F
國中的時候都背(a+b)^2=a^2+2ab+b^2,那今天把a, b換成
02/14 02:35, 4F

02/14 02:35, , 5F
g, y計算(g+y)^2你是否就不會?
02/14 02:35, 5F
文章代碼(AID): #19bG_wOU (C_and_CPP)
文章代碼(AID): #19bG_wOU (C_and_CPP)