作者EngRookie (EngRookie)
看板C_and_CPP
標題[問題] 字串倒轉
時間Fri May 6 18:00:22 2016
問題: 我想回傳陣列字串,但是 main 函數印出來的是記憶體亂碼
所以我想請問如何在不使用全域變數的情況下回傳陣列
謝謝各位: )
#include "stdafx.h"
#include <stdio.h>
char* reverseString(char* s)
{
int stringLen = strlen(s);
char destiStr[100];
int i = 0, j = 0;
for (i = stringLen - 1, j = 0; i >= 0; i--, j++)
destiStr[j] = *(s + i);
destiStr[j] = '\0';
printf("destiStr = %s\n", s);
return destiStr;
}
int main(int argc, char* argv[])
{
char *revString = reverseString("Hello");
printf("revString = %s\n", revString);
system("pause");
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.255.40
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1462528825.A.484.html
→ mabinogi805: 十三戒之5 05/06 18:04
推 longlongint: 你用<string>吧 05/06 18:52
→ Caesar08: 既然用visual studio,為甚麼不用C++呢? 05/06 19:06
→ Schottky: 可能因為這是清朝道光年間很流行的面試題吧 05/06 21:00
→ MOONRAKER: 19世紀的考題 >_< 05/06 21:14
→ MOONRAKER: 以前也謔稱A*toCAD是19世紀的軟體 05/06 21:14
→ descent: 傳另外一個 array 進去當傳回值 05/06 22:20
推 chienweichih: 用遞迴 05/07 23:02
推 sodas500i: 直接在function中將字串存在s應該就可以了吧 05/09 01:36
→ EngRookie: 謝謝各位 主要是FUNCUP引數不能變動才有點麻煩 05/09 15:29