/* * 请编写一个函数,该函数将给定的一个数字字符串转换成整数 */ #include<stdio.h> #include<stdlib.h> //用来标识转换操作是否发生错误(true:发生了 false:没有发生) bool flag=false; int convert(const char *str) { const char *s=str; //b用来标记s所代表的数字字符串是正数还是负数(true:正数 false:负数) bool b=true; int sum=0; if(*s=='-') { s++; b=false; } else if(*s=='+')s++; while(*s!='\0') { if(*s>='0'&&*s<='9') { sum=sum*10+(*s-'0'); } //数字字符串出现其它符号 else { flag=true; break; } s++; } if(b==false)sum*=-1; return sum; } int main() { const char *str="12a3"; int result=convert(str); if(flag==true) { printf("转换发生错误!\n"); exit(1); } printf("result=%d\n",result); return 0; }