#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int stringToInt(char *str);
int main(int argc, char *argv[]) {
char str[10]="6.236";
char *p=str;
printf("输入字符串: q退出\n");
scanf("%s",p);
while(*str!='q'){
//printf("进来了");
int a =stringToInt(str);
printf("转换:%d\n",a);
//memset(str,0,10);
printf("输入字符串: q退出\n");
scanf("%s",str);
}
int a =stringToInt(str);
printf("转换:%d\n",a);
return 0;
}
int stringToInt(char *str){
int ans=0,n=1;
//printf("%c\n",*str);
if(*str=='-'){//是负数时
*str++;
n=-1;
//printf("是负数\n");
}
while(*str!='\0')
{
if(*str=='.')break;//如果是小数的话,直接去掉小数部分;
if((*str-'0')>9||(*str-'0'<0))
{
*str++;
continue;//假如字符是非数字跳过
}
ans=ans*10+*str-'0';
*str++;
}
ans=n*ans;//正数变为相反数,得出负数
return ans;
}
(C语言)字符串转换为数字的函数
最新推荐文章于 2024-04-12 03:45:31 发布