作者Euler (http://0rz.tw/4951Z )
看板C_and_CPP
標題[問題] 請教關於函數的問題
時間Fri Feb 13 14:15:19 2009
書上看來的
不知道為什麼
/*使用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
→ COLDTURNIP:call by value 02/13 14:24
→ COLDTURNIP:main 的 a 把值複製一份給 add 的 num1 02/13 14:29
推 gundan:問這個 ... 02/13 15:14
→ MOONRAKER:國中的時候都背(a+b)^2=a^2+2ab+b^2,那今天把a, b換成 02/14 02:35
→ MOONRAKER:g, y計算(g+y)^2你是否就不會? 02/14 02:35