作业详情:编写程序,把键盘输入的一个数字字符串转换成一个整数并输出。例如,若输入字符串“-1234”,则函
数把它转换成整数值-1234.要求:不得调用C语言提供的将字符串转换成整数的函数。
#include <stdio.h> #include <string.h> #include <math.h> #define TRUE 0 #define FALSE 1 void main(void){ char szraw[10]; char tmp; //TRUE负数,FALSE正数 int minus = FALSE; int idx = 0,iret = 0, len = 0; printf("请输入数字:"); scanf("%s",&szraw); len = strlen(szraw); do { tmp = szraw[idx]; if(idx == 0 && tmp == '-'){ minus = TRUE; len -= 1; idx += 1; continue; } // 负数 if(minus ==TRUE) iret += (tmp-'0') * pow(10.0, len-idx++); //正数 if( minus == FALSE) iret += (tmp-'0') * pow(10.0, len-idx++-1); } while (szraw[idx] !='\0'); if(minus == TRUE) iret = -iret; printf("%d\n",iret); }
在线编译测试:https://ideone.com/sXagT9