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

题目:

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

例如输入字符串"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;
	}
}




你可能感兴趣的:(输入一个表示整数的字符串,把该字符串转换成整数并输出)