1樓:逮長逸穆驪
有const修飾的變數項表明改項不能被更改。
如:int
b=20;
const
int*a=&b;
這時const修飾的是(*a)表示a所指向的物件不能更改int*const
a=&b;
這時const修飾的是a表示a所指向的地址不能更改a、d就是最後將s1指向的位置改變了,b、c呢那就更錯了,其實我想它們大致是想實現字串拷貝的功能:
vc中的strcpy的原始碼:
char
*__cdecl
strcpy(char
*dst,
const
char
*src)
2樓:歧平惠丹楓
正確的答案是b。
如果樓主沒有打錯答案的選項的話,這道題的答案其實很明顯。在a、c和d選項的**裡賦值是用*s1++=*s2++和*s1=*s2,即把s2指向的地址儲存的值賦給s1指向的地址。而b選項的**裡是用s1++=s2++,即把s2的值賦給s1,所改變的是s1的值,而非s1所指向字串的值。
而且s1++=s2++這個本身就不是一個合法的表示式。
重樓の愛冪關於選項的解釋都錯了,不過關於const的解釋是正確的。在函式的引數中使用const可以用來保護資料不被函式修改。strcpy的功能是把字串s2複製到字串s1,字串s2的值是不需要修改的。
使用const可以明確這一點,如果試圖在函式中修改字串s2,例如*s2='a'(正如重樓の愛冪的解釋,const
char
*s2表示的是s2所指向的是一個常量,即*s2不能被修改;但s2本身是可以被修改的,所以s2++這樣的語句是正確的),那麼在編譯時就會出錯。
什麼是庫函式,math庫函式都有什麼?
庫函式 library function 是把函式放到庫裡,供別人使用的一種方式。方法是把一些常用到的函式編完放到一個檔案裡,供不同的人進行呼叫。呼叫的時候把它所在的檔名用 include 加到裡面就可以了。一般是放到lib檔案裡的。一般是指編譯器提供的可在c源程式中呼叫的函式。可分為兩類,一類是c...
VC 2019如何呼叫fortran庫函式
對準庫函式,按f12 fortran如何呼叫c語言函式,本人小白,求大神寫詳細點 你的想法,叫做 混合程式設計 簡稱 混編 混編有多種方式,一般有 1.直接呼叫 c 編譯後的 exe 2.通過 dll 3.通過靜態 lib 4.通過編譯器直接連結fortran和c的obj 不管是 fortran 還...
關聯式資料庫函式問題求極小函式依賴並將該關係規範化未3NF
u 現實世界的已知事實 1 一個學生只屬於一個系 含義 學號確定後,學生所在的系也就被內唯一確定了。容類似於數學中的函式y f x x sno,y sdept。我們說 sno函式決定 sdept,或者說 sdept函式依賴於 sno,記做 sno sdept 反過來一個繫有若干學生 解釋系不能決定學...