字符串转整数(纯C语言)-考虑负数情况

Posted 勇敢*牛牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串转整数(纯C语言)-考虑负数情况相关的知识,希望对你有一定的参考价值。

字符串转整数

题解思路

  • 输入字符串,通过strlen()函数可以得知字符串的长度
  • 从后往前得到每一个字符“数值”num[i] - '0',并且这个字符按位数的不同乘进制数sum += temp *(long long)pow(10,j);相加
  • 判断字符串的正负,通过if(num[0] == '-')分类讨论

代码演示:

#include <stdio.h>
#include <stdlib.h>
#include <string.h> 
#include <math.h>
int main() 
//	char num[20]="123456123456123456";
	char num[20];
	scanf("%s",num);
	long long  sum = 0;
	int n = strlen(num);
	int i = n-1,j=0;
	if(num[0] == '-')
		for(j=0;i>0;i--,j++)
			int	temp = num[i] - '0';
			sum += temp *(long long)pow(10,j);
			printf("%lld\\n",sum);	
		
		printf("sum=%lld",sum*(-1));
	else
		for(j=0;i>=0;i--,j++)
			int	temp = num[i] - '0';
			sum += temp *(long long)pow(10,j);
			printf("%lld\\n",sum);	
		
		printf("sum=%lld",sum);
	
	return 0;

以上是关于字符串转整数(纯C语言)-考虑负数情况的主要内容,如果未能解决你的问题,请参考以下文章

不使用JDK的方法自己实现字符串转整数

求c语言自定义方法,数字转字符串,八位长 不足八位前面要补上0 ,前面还要有正负号

关于c语音,二进制问题?

剑指offer系列39:把字符串转换成整数

python中的负数取模问题(一个大坑)

请教:C语言中如何将一字符串转换成无符号整型