作者Cidolfas ()
看板C_and_CPP
標題[問題] 請問算字串長度,如何計算0值部分
時間Tue Aug 17 17:31:16 2010
遇到的問題: (題意請描述清楚)
我在寫大數下字串反轉的題目,
當輸入的字串內不含0值時,
使用 strlen() 能將所輸入的數值正確反轉,
1234567 -> 7654321
但一旦有0值時就會停下。
1230456 -> 654
請問我該換什麼方法去計算原本輸入的字串長度?
謝謝。
希望得到的正確結果:
程式跑出來的錯誤結果:
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Dev-C++
有問題的code: (請善用置底文標色功能)
void Rev(char a[], char b[]) //a 是原先輸入的字串
{
int i;
int j = strlen(a);
for( i = 0 ; i < LEN ; i++ )
b[i] = 0; //將 b 初始化
for( i = 0 ; i < j ; i++ )
b[ j - i - 1 ] = a[ i ] ;
}
補充說明:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.85.35.146
→ bleed1979:原先字串應該已經-'0'了吧? 在減之前計算然後傳入。 08/17 17:43
→ Cidolfas:感謝解惑! 08/17 17:49