這個怎麼改,怎麼出現亂碼了,c 指標入門

時間 2022-07-15 13:55:09

1樓:篤俠

void change(char *p)

cout<<"變換後的順序為:";

dowhile(*p!='\0');

}改成這樣試試:

void change(char *p)

cout<<"變換後的順序為:";

dowhile(p!=p0); //...}

2樓:楓葉非也

#include

using namespace std;

int main()

void change(char *p)

cout << "變換後的順序為:";

do while (num != 0);

cout << endl;

}同意最快回答的那位朋友。

從後往前,的確不能用『\0』進行判斷。

可以設定一個計數的變數,然後做對應次數的輸出即可。

3樓:宛瑩

#include

#include

using namespace std;

int main()

void change(char *p)

cout<<"變換後的順序為:";

dowhile(p!=q);

}反向時需要儲存字串頭的位置,當指標自減到等於頭時停止列印即可

4樓:青青牆外草

p指標:1 2 3 4 5 \0

但是反過來讀的時候,1前面可不一定是0,所以你最後一個do while迴圈就不知道什麼時候會停止了

c++中文字元就變成了亂碼,請問如何解決?

5樓:匿名使用者

專案->屬性->配置屬性->常規->字符集 改成 未設定 或者 使用多位元組字符集

6樓:

你先確定能準確的接收不能,先不要對接收的內容進行處理.

void cdataprocessing::getrequests(cstring strrxbuffer)

如果能正確顯示,那就是你處理請求的問題.

7樓:匿名使用者

編碼方式改為 多位元組編碼。。

8樓:齊齊玉閣

你要指定中文的字元編碼呀

9樓:太平洋電腦網

解壓檔案出現中文亂碼怎麼辦解決辦法

10樓:匿名使用者

編碼的問題,你看看工程屬性,改成unicode 編碼,

如果還不行,需要你轉換一下,用multibytetowidechar,或者widechartomultibyte轉換一下,具體要看你的原字串是char 還是wchat。

c++,使用指標時輸出亂碼,這是為什麼呢?

11樓:

因為b是一個區域性變數,在change函式返回後,這個變數就不存在了,原先的地址也不屬於b了。這時候這個空間可能被別的佔用,所以就是亂碼了。 一般來講,區域性變數是分配在棧中的,函式結束後退棧,然後再呼叫新的函式時候,又有新的內容被壓棧,所以原先的內容肯定是會變化的

12樓:zyz鄭遠征

你呼叫change()中定義的變數b,在呼叫結束後,這個變數被釋放掉了,所以itsradius指向了不確定的記憶體,所以列印錯誤的值

13樓:匿名使用者

void change() 把區域性變數b的地址給了itsradius,

跳出void change() 區域性變數b就不在了, 當然是亂碼了

c++指標輸出字串有亂碼

14樓:匿名使用者

cout對字串輸出時,只要找不到'\0'就會一直向後迴圈,因此字串最後的結束標記特別重要。

c++輸出中文字元亂碼,怎麼解決

15樓:魄塋

你先確定能準確的接收不能,先不要對接收的內容進行處理.

void cdataprocessing::getrequests(cstring strrxbuffer)

如果能正確顯示,那就是你處理請求的問題.

c++這個詞在中國大陸的程式設計師圈子中通常被讀做「c加加」,而西方的程式設計師通常讀做「c plus plus」,「cpp」。 它是一種使用非常廣泛的計算機程式語言。c++是一種靜態資料型別檢查的、支援多重程式設計正規化的通用程式設計語言。

它支援過程化程式設計、資料抽象、物件導向程式設計、泛型程式設計等多種程式設計風格。最新正式標準c++於2023年8月18日公佈。其程式設計領域眾廣,常用於系統開發,引擎開發等應用領域,是至今為止最受廣大程式設計師受用的最強大程式語言之一,支援類:

類、封裝、過載等特性!

16樓:太平洋電腦網

解壓檔案出現中文亂碼怎麼辦解決辦法

17樓:老虎不吃海貨

cout輸出的就是亂碼吧

不過我用wcout還輸出了空白……

18樓:砍侃看

19樓:匿名使用者

是什麼內碼的中文?

gbk?unicode?utf-8?

c++ 指標 輸出亂碼問題

20樓:匿名使用者

亂碼的原因很簡單,你的指標指錯地方了!

單步跟蹤除錯,看看你的指標到底指向什麼地方了,然後修正回來就好了

21樓:匿名使用者

5 - 12 = -7表示為2進位制是 111110001b首位為1 ,中文編碼範圍

自然就會輸出 中文囉

你要把型別裝換 或者 賦值給一個整形 ,你才能正常輸出char型別輸出的是1,存的可是1的asnii碼

22樓:匿名使用者

你這個**貼的不全 我看的不是很懂 你要不帖全的 要不加點註釋

一般情況下 char陣列出亂碼可能是編碼格式不對 比如 char c = 2;

這時候輸出c的時候結果是asc碼為2的字元

求大神指導為什麼c++輸出指標所指向的char型別的陣列時會輸出亂碼

23樓:匿名使用者

看一下你完整的原始碼

char陣列的賦值有問題

可以嘗試string型別儲存字串

24樓:神龍見尾不見

編碼不支援中文,你的姓名輸入英文應該可以

這個C 怎麼改啊

include define m 3 define n 4 main max a 0 0 for i 0 imax main max a 0 0 for i 0 imax int max,i,j,r,c int a 3 4 max a 0 0 for i 0 i 用m n定義一個陣列是不行的。c c...

這個c 語句為什麼錯的?怎麼改

錯的地方很多,首先是這一句 return n 10 這一句會發生陣列越界的錯誤.因為最後一個元素的下標為9 你修改後你的排序函式返回值為int型,但在你的函式體內卻沒有返回一個值.你要不返回值的話,就把函式定義改為返回void,要是你想返回首元素的地址,就把返回型別改為int 還有一點你的排序演算法...

C 問題新手求詳解這個怎麼改呀

1 因為測試陣列 2 兩個例項的測試,稱為建構函式,所以有兩個initalizing預設 2 法院 陣列 1 呼叫getint 陣列 1 getfloat endl 因為num 0 fl 0.0 值嗎?不會改變,因此呼叫getint 來得到一個整數從0 getfloat先把 得到一個float 0 ...