當我看到這麼乙個問題時,我覺得是乙個很簡單的問題,立刻就會想到用乙個while迴圈遍歷整個字串,將乙個個字元轉化為數字,關於這種問題已經不是第一次遇到了,所以自信滿滿的寫好然後去網上尋找答案。
這或許就是理想和現實的差距,把自己寫的程式和標準答案一對,發現沒有乙個地方可以稱之為寫對。答案中提到了atoi函式,是乙個把字串轉換為整數的庫函式。
下面就是具體的實現:
一開始進入strtoint函式先判斷字串是否為空,若字串為空,則直接返回非法輸入。long long strtointcode(const char *ptr, bool minus)
ptr++;
}else
}if (*ptr == '\0')
return num;
}int strtoint(const char *ptr)
else if (*ptr == '-')
if (*ptr != '\0')
}return (int)num;
}
不為空並且第乙個字元不為『\0』,則分情況第乙個字元為+或者-,則輸出的時候為正數和負數。然後進入strtointcode函式將字串轉換為數字,在這裡要考慮上溢位和下溢位。enum state
;int sign = v_error;/*設定全域性變數判斷是否為非法輸入*/
if ((!minus && num > 0x7fffffff) \
|| (minus && num < (signed int)0x80000000))/*判斷是否上溢位或者上溢位*/
將乙個字串逆序
這個題要我自己寫還不太有思路,可能不會想到寫三個函式,而且這個 也沒有執行出來 include include include pragma warning disable 4996 有乙個字元陣列的內容為 student a am i 請你將陣列的內容改為 i am a student 要求 不能...
乙個字串轉化為整數
原博文位址 將字串轉化成數字要考慮很多問題 1,字串是否為空 2,字串的開頭有可能不是數字的字母形式,而是 或者 3,字串中有可能不是數字對應的字母 4,字串轉換之後有可能越界。下面給出 比較欣賞的是其中的assert.include include include using namespace ...
在乙個字串中尋找另外乙個字串
在乙個字串中尋找另外乙個字串 public class text foundit true break test system.out.println foundit?found it didn t find it 該段程式有點難以理解,主要就是if語句的理解,if searchme.charat ...