c語言中的char a,b strcpy a,b 與a b有什麼區別

2021-03-27 19:02:10 字數 1854 閱讀 1769

1樓:幻夢·人生

strcpy是拷貝,從b地址開始取字元,一個一個複製到從a開始的地址上。最後你獲得了兩個相同字串,a和b分別指向兩個字串

a = b,是修改a的地址,讓a指向b所在的位置。最後你只有一個字串,a和b都指向這個字串。

2樓:匿名使用者

char *a,*b; //說明定義的是兩個char型指標變數

strcpy(a,b); //此處用法是錯誤的,strcpy是字串拷貝,a,b是指標a,b的地址,不是字元型的

char a,b; //說明定義的是兩個char型變數strcpy(a,b); //此處將b的值賦值給a

3樓:匿名使用者

有區別的,strcpy是將b指向的字串的內容複製給a指向的地址,而a = b只是將a指向b指向的地址,現在它們指向同一個地址,但是你這裡面的指標定義後它們都沒有指向合法的地址,指向的不是合法的字串,所以呼叫strcpy(a,b)會出問題的

4樓:匿名使用者

strcpy(a,b)是把b指向的字串複製到a所指向的地址中,這樣改變a,b互不影響

a = b是將a指標指向b所代表的字串,實際上改變a所指向的內容,b也改變了

5樓:匿名使用者

a=b;只是a指向了b指向的記憶體地址,一旦b銷燬,a的內容也消失了。

strcpy(a,b)是將b指向的記憶體地址裡的內容賦值到a指向的記憶體地址,這樣b銷燬時不影響a的內容。

6樓:玉鑑瓊田

strcpy把從src地址開始且含有null結束符的字串賦值到以dest開始的地址空間

7樓:弭振英良雁

char*

strcpy(char*

strdest,const

char*

strsrc)

*strdest='\0';

return

result;

}在這個函式中,返回值可以指示是否出錯。

c語言中*a=*b與*a=b的區別

8樓:晚安

*a=*b

指標a,b都指向5

*a=b

如果你定義了變數b那麼a指標就指向b的地址,如果沒有定義b那麼語句錯誤

9樓:黃依用曉凡

沒區別,==是恆等於,不存在賦值問題,單純比較,怎麼寫都行,但是=號就不一樣了,是右邊賦值給左邊

對於char *a,*b,*c; a=b=c; 和*a=c ,*b=c;有什麼區別?

10樓:匿名使用者

a,b,c三個變數存放的是記憶體地址,而*a則是取出a裡儲存的記憶體地址,再從這個地址裡找到對應的記憶體單元

a=b=c就是把c存放的地址放到a和b中,而*a=c,則把c存放的地址,放到a存放的地址所指向的記憶體單元,而這個記憶體單元存放的是char型別的資料,由於不是同型別,編譯會出錯的

char *a,b;和char* a,b有什麼區別?

11樓:匿名使用者

完全沒區別

都是a是char *型別,b是char型別的。

不用管*離誰近,只生效一次。

c語言中char a,b; 是什麼意思 50

12樓:匿名使用者

char a= 這是一個字元陣列,佔3個位元組。 char a="abc" 則不同,它是一個字串,最後還有一個'\0'結束符,佔4個位元組

c語言中作用C語言中作用

取決於在scanf中使用還是在printf中使用。在scanf中使用,則新增了 的部分會被忽略,不會被引數獲取。例如輸入為 12 abc那麼12將會讀取到變數a中,但是後面的abc將在讀取之後拋棄,不賦予任何變數 例如這裡的字元陣列b 在printf中使用,表示用後面的形參替代的位置,實現動態格式輸...

C語言中return的問題,C語言中return的用法疑問

檢測的迴圈有點問題,根本進入不了迴圈 linshi 1,這個是進入迴圈的條件,只有1的時候才能進入迴圈其實判斷素數的子函式有經典的 int s int n for linshi number 1 linshi 1 linshi 這個條件錯了,至少也是 linshi 2 if linshi 1 如果前...

請問C語言中,1,請問C語言中,

是求餘數的意思,a b也就是a除以b餘幾 1 2 0餘1,那1 2 1 這裡 是取餘數的意思 1除以2 餘數就是1咯 計算步驟的話。cpu有直接的整數除法指令,商和餘數分別放在不同的暫存器裡。這些都交給編譯器了,我們不用理了 取模運算。也就是1除2的餘數?結果 1 除數是2的時候很特殊.a 2 等同...