圖: https://imgur.com/a/s2OAcCl
第二個strcpy,我怎麼看都是pass by reference,怎麼書上說的是by value?
但書上又說,因為是by value,所以可以隨意改s跟t的值(想怎麼用就怎麼用)。這讓我聯
想到一個問題
如果擅自更改s跟t的值,下一次function call時傳進來的值會被改掉嗎?
比如第一次call function:
char * des;
char * src;
des = &arr1[0];
src = &arr2[0];
strcpy(src, des);
一開始的des與src都是指到arr1與arr2的頭,但跑完while後t跟s都已經指到arr1與arr2的
尾巴了,下一次再call strcpy的話,是不是又要重新assign一次? i.e.
des = &arr1[0];
src = &arr2[0];
ps: 請問t[i]assign給s[i]後,是s[i]跟'\0'做comparison嗎?