C语言实现 字符串转换为整数输出 int ascii_to_integer(char *str);

骑猪看日落 2022-08-07 10:46 161阅读 0赞

比如:“123456”这个字符串 用整数表达就是123456;

函数应该把这些数字字符转换为整数并返回这个整数。

如果字符串参数包含了任何非数字字符,函数就返回零。

代码实现:

  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<math.h>
  4. int ascii_to_integer(char *str)
  5. {
  6. int count = 0;
  7. int sum = 0;
  8. count = strlen(str);
  9. if((*str) < 0 && (*str) > 9)
  10. {
  11. return 0;
  12. } //如果不为数字结果返回0
  13. while(count)
  14. {
  15. sum = sum + ((int)*str-48)*(pow(10,count-1)); //因为1的assci码值为49,所以这里统一-48,就可以得到整数的大小
  16. str++;
  17. count--;
  18. }
  19. return sum;
  20. }
  21. int main()
  22. {
  23. char *str = "123456";
  24. int ret = ascii_to_integer(str);
  25. printf("%d\n",ret);
  26. return 0;
  27. }

结果如下:

Center

发表评论

表情:
评论列表 (有 0 条评论,161人围观)

还没有评论,来说两句吧...

相关阅读