将一个字符串转换为整数
        【摘要】  #include <stdio.h>#include <string.h>#include <stdlib.h> int myatoi(char *s){	int i = 0,j;	int result = 0;	int flag = 1; 	while (s[i] == ' ')  //将多余的空格字符去掉	{		i++;	} 	if(s...
    
    
    
    
  
   - 
    
     
    
    
     
      #include <stdio.h>
     
    
- 
    
     
    
    
     
      #include <string.h>
     
    
- 
    
     
    
    
     
      #include <stdlib.h>
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      int myatoi(char *s)
     
    
- 
    
     
    
    
     
      {
     
    
- 
    
     
    
    
     	int i = 0,j;
     
    
- 
    
     
    
    
     	int result = 0;
     
    
- 
    
     
    
    
     	int flag = 1;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     	while (s[i] == ' ')  //将多余的空格字符去掉
     
    
- 
    
     
    
    
     
      	{
     
    
- 
    
     
    
    
     
      		i++;
     
    
- 
    
     
    
    
     
      	}
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     	if(s[i] == '+')//如果是一个正整数
     
    
- 
    
     
    
    
     
      	{
     
    
- 
    
     
    
    
     
      		i++;
     
    
- 
    
     
    
    
     
      	}
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     	if(s[i] == '-')//如果是一个负整数
     
    
- 
    
     
    
    
     
      	{
     
    
- 
    
     
    
    
     
      		i++;
     
    
- 
    
     
    
    
     
      		flag = -1;
     
    
- 
    
     
    
    
     
      	}
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     	while (s[i] != '\0')//开始遍历数字字符
     
    
- 
    
     
    
    
     
      	{
     
    
- 
    
     
    
    
     		if (s[i] < '0' || s[i] > '9')
     
    
- 
    
     
    
    
     
      		{
     
    
- 
    
     
    
    
     			printf("字符串含有非数字字符,无法转换\n");
     
    
- 
    
     
    
    
     			exit(0);
     
    
- 
    
     
    
    
     
      		}
     
    
- 
    
     
    
    
     
      		j = s[i] - '0'; //字符串中的字符以ASCII码存储;
     
    
- 
    
     
    
    
     
      		result = 10 * result + j;
     
    
- 
    
     
    
    
     
      		i++;
     
    
- 
    
     
    
    
     
      	}
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      	result = flag * result;
     
    
- 
    
     
    
    
     	return result;
     
    
- 
    
     
    
    
     
      }
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      int main()
     
    
- 
    
     
    
    
     
      {
     
    
- 
    
     
    
    
     	int i;
     
    
- 
    
     
    
    
     	char str[100];
     
    
- 
    
     
    
    
     	printf("请输入一个纯数字的字符串:");
     
    
- 
    
     
    
    
     
      	gets(str);
     
    
- 
    
     
    
    
     
      	i = myatoi(str);
     
    
- 
    
     
    
    
     	printf("您输入的字符串转换为整数是:%d\n",i);
     
    
- 
    
     
    
    
     	return 0;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      }
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
 文章来源: blog.csdn.net,作者:悦来客栈的老板,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq523176585/article/details/11759921
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        - 点赞
- 收藏
- 关注作者
 
             
           
评论(0)