[問題] 新手請教call by value的問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C
最近在看 C語言教學手冊 洪維恩 第三版
一直看不出來這2段程式的差異在哪..
8-45頁:
#include <stdio.h>
#include <stdlib.h>
void add10(int,int)
{
a=a+10;
b=b+10;
}
int main(void)
{
int a=3,b=5;
printf("呼叫函數add10()之前: ");
printf("a=%d b=%d\n",a,b);
add10(a,b);
printf("呼叫函數add10()之後: ");
printf("a=%d b=%d\n",a,b);
system("pause");
return 0;
}
/* output----------------------
呼叫函數add10()之前: a=3, b=5
呼叫函數add10()之後: a=3, b=5
-----------------------------*/
9-30頁
#include <stdio.h>
#include <stdlib.h>
void func(int a) /* 自訂函數func() */
{
printf("於func()裡,a=%d\n",a);
}
int main(void)
{
int a=13;
printf("於main()裡,a=%d\n",a);
func(a); /* 這是傳值呼叫的機制 */
system("pause");
return 0;
}
/* output----------------------
於 main()裡,a=13
於 func()裡,a=13
-----------------------------*/
這兩段都是講傳值呼叫
想請教為什麼第一段傳不了
第二段卻可以?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.126.29.202
※ 編輯: wheree 來自: 59.126.29.202 (09/23 22:57)
推
09/23 22:59, , 1F
09/23 22:59, 1F
→
09/23 23:05, , 2F
09/23 23:05, 2F
推
09/23 23:13, , 3F
09/23 23:13, 3F
→
09/23 23:14, , 4F
09/23 23:14, 4F
→
09/23 23:15, , 5F
09/23 23:15, 5F
→
09/23 23:15, , 6F
09/23 23:15, 6F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
11
38