输入一个表示整数的字符串,把该字符串转换成整数并输出

题目:

输入一个表示整数的字符串,把该字符串转换成整数并输出。

例如输入字符串"345",则输出整数 345。

C语言基础题。直接写代码了

代码实现(GCC编译通过):

#include "stdio.h"
#include "stdlib.h"

//返回1表示转换成功,0表示失败。char[]是原字符串,int *存放目标地址
int changeStrToNum(char str[],int * tag);

int main(void)
{
	char str[] = {'+','1','2','3','4'};
	int tag;
	if(changeStrToNum(str,&tag) == 1)
		printf("%3d\n",tag);
	else
		printf("ERROR!");
	
	return 0;
}

int changeStrToNum(char str[],int * tag)
{
	char * p = str;
	int flag = 1;
	
	* tag = 0;
        
        //若有'+'号
	if(*p == '-')
	{
		p++;
		flag = -1;
	}//若有'-'号
	else if(*p == '+')
	{
		p++;
	}
        
        //遍历处理
	while(*p != '\0' && *p > '0' && *p < '9')
	{
		* tag = *tag *10 +(*p++ - '0'); 
	}
        
	if(*p != '\0')
		return 0;
	else
	{
		*tag = *tag * flag;
		return 1;
	}
}




转载于:https://my.oschina.net/u/1470003/blog/228597

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值