c語言請教

2022-05-21 15:56:38 字數 679 閱讀 1828

1樓:

b是一個指標變數,沒有初始化,它不指向任何值,for裡面的語句是毫無意義的!

如果你是想將a拷貝給b,那就不需要那麼複雜了,**如下:

#include

int main()

2樓:王者不農藥

有,且還不少:

1. 從迴圈看,你要使*(a+i)='\0'作為終止條件,但是char* a所指的字串並未包含\0,

你至少得這麼定義 char* a = "i love china\0";

2. *b 僅僅作為一個指標,並未指向某段空間,可以說是野指標,程式崩潰是必然的。

至少得給b分配一段記憶體吧。

3. 猜測 *(b+i+1)='\0' 是不是應該放在for迴圈外面?否則除了第1個位置正確外,其它位置都是0了。

4. 關於指標宣告不建議放在一行,非指標變數到是無所謂,如下:

int x,y; // 可以

int *px; // 可以

int *py; // 可以

int *pa, *pb; // 不建議。

5. 從程式表達意思看,就是memcpy的功能,嗯。。。其實memcpy_s更好。

3樓:匿名使用者

你沒有為指標b分配空間。

報錯的原因就是你溢位了。。orz

請教有關c語言的問題,請教一個有關C語言的問題

註釋一是幫助自己記憶設計程式時的思路,以備以後修改 一是在別人讀取你的程式時能讀懂。這個是利己利他的一項工作。如果程式中有比較重要的介面呼叫規則 複雜的演算法 重要的分支 容易混淆等情況時,可以加上一些註釋實現上述功能。如果這個程式是要公用的話,就更要新增必要的註釋來幫助別人理解程式 少範錯誤 避免...

請教C語言,請教一下C語言中按位取反 的使用

在你原來程式的基礎上做了些改動,如下 include int main void int i,j,k,j1,k1 for i 6 i 100 i i 2 for j 2 j i 2 j 判斷i是由兩個素陣列成,尋找素數j for j1 2 j1 j j1 判斷j是不是素數 if j j1 0 j j...

請會C語言的請教一下

在呼叫scanf前,需要先呼叫fflush stdin 以清空輸入快取 否則,輸入快取中的殘留會導致意外的結果 也是直接結束了,不過是多了句結束語吧,非exit退出都會出現這種現象 nerror 107374176.000000?107374176.000000 107374176.000000 c...