看板 C_and_CPP 關於我們 聯絡資訊
問題: 我想回傳陣列字串,但是 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
bigpigbigpig: https://ideone.com/WfvZH8 05/06 21:00
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
sss22213: http://chopapp.com/#kovejkw3 05/07 13:17
chienweichih: 用遞迴 05/07 23:02
sodas500i: 直接在function中將字串存在s應該就可以了吧 05/09 01:36
EngRookie: 謝謝各位 主要是FUNCUP引數不能變動才有點麻煩 05/09 15:29