Advertisement
Guest User

Untitled

a guest
Jul 4th, 2015
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. int StrToInt(const char *str)
  2. {
  3. int n = 0;
  4. while (*str != 0)
  5. {
  6. int c = *str - '0';
  7. n = n * 10 + c;
  8. ++str;
  9. }
  10. return n;
  11. }
  12.  
  13. /*
  14. 上述代码忽略了以下细节:
  15.  
  16. 空指针输入:输入的是指针,在访问空指针时程序会崩溃,因此在使用指针之前需要先判断指针是否为空。
  17. 正负符号:整数不仅包含数字,还有可能是以'+'或'-'开头表示正负整数,因此如果第一个字符是'-'号,则要把得到的整数转换成负整数。
  18. 非法字符:输入的字符串中可能含有不是数字的字符。因此,每当碰到这些非法的字符,程序应停止转换。
  19. 整型溢出:输入的数字是以字符串的形式输入,因此输入一个很长的字符串将可能导致溢出。
  20. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement