c 的程式問題,一個c 的程式問題,。。。。

2022-12-21 21:51:22 字數 556 閱讀 7083

1樓:匿名使用者

其實正確的寫法應當是:for( i=strlen(temp.c_str()-1); i>=0; i--)

首先,strlen是返回字串的長度,當i==strlen時,temp[i]應該是結束符,不信你輸兩個字串看看輸出結果,是不是前面多了一個」空格「?。

再次,你寫成&temp[0],只是把temp第一個字母的地址當做引數傳給strlen,會被強轉成const char*,這樣寫也沒錯。

讓我們看看strlen的原型:

size_t strlen(const char *string);

remarks

each of these functions returns the number of characters in string, not including the terminating null character.

意思是說,這個函式返回string中的字元數,知道碰到結束符'\0'位置,但是不包括這個結束符。

std::string的c_str()就是返回string的const char*形式。

C程序問題,C程式問題

i從0到5 輸出結果應該是123345 函式fun 就是對陣列a從a 2 到a 9 實行資料的後移,例如,a 9 的值傳給a 10 a 8 原來的值傳給a 9 直到a 2 的值傳給a 3 一共是7次 呼叫函式之後,a陣列的資料變成了 通過for迴圈把陣列a中的a 0 到a 5 的值依次輸出來,所以應...

C程式問題,c語言程式猴子偷桃問題

include void main 換行 就是 地一樣空1格 打5個星,第二行空2格 打5個星,第三行空三個 打5個星.首先i 1,滿足i 5進入j迴圈,j 1 1滿足,輸出空格,j 後不滿足迴圈條件,程式跳出j迴圈,進入k迴圈,輸出五個 號和一個換行符 然後i 再進行i迴圈,進入j迴圈時,輸出兩個...

c語言程式設計序新手問題,C語言程式設計序新手問題

include main 1 你是不是按的f5進入了除錯模式啊,除錯模式控制檯框一閃而過,你要加上一句getch 或者ctrl f5 2 還有,你的除法結果最好是寫成float,否則可能導致丟失小數點後面的數而讓結果錯誤。3 除法時最好判斷下除數是否為0.我了一下你的程式,沒有問題,程式是正確的,至...