以下有庫函式strcpy char s1,const ch

2022-07-17 18:32:06 字數 871 閱讀 3749

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 反過來一個繫有若干學生 解釋系不能決定學...