1樓:匿名使用者
樓主寫的那個for迴圈是有問題的 第一次迴圈 i = 0, str[len-i] = str [len] 在str裡面是不存在的因為str的標號是從0開始到len-1. 修改後如下:
#include
using namespace std;
#include
string strturn(string str)
int i;
int len;
len = str.size();
string tmpstr= "";
string p="";
//cout << str << endl;
for (i= 0; itmpstr += str[len- i-1] ;
cout << str[len- i-1] ;
return tmpstr;
int main ()
string a="123456";
a= strturn(a);
cout return 0; 結果如插圖。如果你用修改過後的執行還是不行,那說明是你編譯器的問題。我用的是cfree,你可以試試這個軟體。 2樓:匿名使用者 //你的程式存在野指標(string tmpstr= "";//這是子函式中的區域性變數),我用了另外的方法,而且減少了空間複雜度 #include #include #include using namespace std; int len = str.size(); char temp; for (int i= 0; i 3樓: #include using namespace std; #include string strturn(string str)return tmpstr; }int main () //問題的根源在於不同編譯器版本下的string類處理的有差異 你的編譯器以我上面的應當是可以正常通過的 4樓: #include #include using namespace std; }int main () 測試通過 5樓:匿名使用者 for (i= 0; i<= len; i++) 迴圈越界了, 試試 for (i= 0; i< len; i++) 6樓:軍軍 首先應貼出編譯的出錯資訊。 include include main char a 100 b 100 c 100 int i 0,j 0,n 0 gets a while a i 0 if a i 7 0 a i 1 7 0 b j a i b j a i 1 n i i b j 0 for i j 0 i 0 i j if... include int strlen char stry 函式strlen 的呼叫在宣告後,這一行可以省略 int strlen char stry 應該傳入一個字元指標,也就是你的一維陣列首地址 因為呼叫時是n strlen str str是一維陣列名,也是陣列首地址 main include i... include include define n 1024 int strlen char str return count void main if ch n i n 1 p i ch printf 這個字串為 s n p printf 這個字串的長度為 d n strlen p system p...c語言字串符
c語言程式設計符串長度,c語言程式設計 字串長度
c程式設計題編寫函式求字串的長度在