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 等同...