在c 中不用系統函式將乙個字串倒敘輸出

2025-01-28 19:05:16 字數 1248 閱讀 5284

1樓:程式設計師跳槽幫

string str = 123456";

string strnew=""

for (int i = ; i > 0; i--)strnew +=, 1);

樓上的大小寫錯誤!!

2樓:

我已經寫在部落格裡了,自己看下吧,測試通過。

c# 輸入乙個字串,倒敘輸出

3樓:網友

很簡單,三行**搞定。

string a = "abcdefg";

char b = ;//轉換成char陣列;//陣列內建泛型倒序函式。

c語言程式設計,寫乙個函式,使輸入的乙個字串按反序存放,在主函式中輸入和輸出字元

4樓:網友

問題很簡單:你根本就沒有翻轉字串!

第一,你在呼叫char yuan(char a)後,用什麼來接受它的返回值?對吧,在主函式中根本沒有任何char組來接受它。你似乎可以將 gets(a);

後的語句改寫成 a = yuan( a );然後輸出。告訴你這也樣行不同的,只因為接下來的第二點。

第二,你的yuan函式設計有問題。你犯了乙個初學者很容犯的錯誤試圖從被呼叫函式中返回乙個陣列(或指標)的值。要知道,被呼叫的函式編譯後儲存在堆疊當中:

它在被呼叫時建立,結束呼叫時銷燬。所以說,不能用它來返回陣列(或指標)的值。

至此,你的提問已經解決。下面給出我的想法,現在思考你要解決的問題:將乙個字串(或者說是字元陣列)翻轉。這就要求你必須為yuan函式傳遞個字串引數a;然後就是翻轉,但是翻轉的字串不會超出原字串的長度,故而可設計用它自身將翻轉值帶出。

可將翻轉函式原型設計為 void yuan(char *a); 實現如下:

void yuan(char *a)

再到這裡似乎沒什麼話可說了,不過還是要給出幾點建議:

第一,合理使用空白,是你的程式更具可讀性;

第二,為設計識別符號可以適當學習一下英語;

綜上,在學習初期養成良好的程式設計風格很重要。

謹祝,學習進步!

5樓:匿名使用者

不成功,錯誤太多。。。

你只返回了乙個字元,還有,你的d[100];是區域性變數。。

函式執行完後就釋放。

6樓:匿名使用者

初學者,多看書吧。

慢慢來祝你順利。

c語言一個將陣列傳遞給函式的程式不懂?求解!

int largest 裡面兩個引數有什麼用?一個是陣列,一個是陣列長度。為什麼if 語句中num array count 要大於biggest 函式本身是為了找到陣列中最大的數,迴圈查詢,如果找到比當前最大的數biggest更大的數,則更新biggest,也就是下一句 biggest num ar...

c怎樣使函式有兩個返回值,C 怎樣使一個函式有兩個返回值

兩個返回值都是int型別,而且長度還不一樣可以這樣做,返回值型別為 list泛型集合在方法裡面你先把兩個int a new int 3 int b new int 5 加到下面的泛型集合中去 listlist new list list.add a list.add b return list 用的...

c 關於解構函式的問題,C 關於解構函式的一個問題

如果你的物件在複製的時候不適合淺複製,而且整個過程中你也不需要對它進行復制,那麼一個比較好的方法就是寫一個複製建構函式 mystring const mystring 然後不實現。沒錯就是隻寫這麼一個宣告放那邊。如果程式中用到了複製構造,那麼連結的時候就會報錯,可以幫助你遠離深複製淺複製的問題。另 ...