///输入的一串整型数字字符转换为整型数值。
① 编写一个函数 str2int,功能为接收一串字符串,提取其中的数字字符,
转换为整型数值返回,/
#include<stdio.h>//标准的输入和输出流
#include<stdlib.h>//system(“pause”)要用
int str2int(char* str);//提取字符串的数字并且将该数字转换为整形
int main(void)//主函数
{ int x = 0;//定义一个整形的变量,并进行初始化,如果不进行初始化,程序会报错
char a[99];//定义一个长度为99的字符串数组
printf(“请输入一串字符串:\n”);//提示用户输入相应信息
gets_s(a, 99);//将用户输入到缓冲区的字符串进行读入,也可以用scanf的形式进行读入
x=str2int(a);//调用函数,提取字符串的数字并且将该数字转换为整形
printf(“结果为%d”, x);//打印出结果
system(“pause”);//将黑色窗口停留,用户按任意键后才会退出
return 0;//程序正常运行要返回一个0
}
int str2int(char* str)
{
int i = 0 ,t = 0;//定义两个整形的变量
char* p = str; //将指针指向传入的字符串,这样通过指针就可以对该字符串进行操作了
while ((p + i) != ‘\0’)//只要字符串没有到达反斜杠0的位置,那么就可以继续提取
{
if ((p + i) >= ‘0’ && (p + i) <= ‘9’)//如果该字符串中的某个字符满足
//(p + i) >= ‘0’ && *(p + i) <= ‘9’
//说明他是一个数字字符,因为要将字符串的数字转换为整形,所以要在末尾减去一个反斜杠0
//就可以将原先的数字字符转换为数字了
{
t = t * 10 + *(p + i) - ‘0’;//遇到下一个数字,原先的那个数字就要乘10,
//再加上现在遇到的数字
}
i++;//注意每进行一次i都要++,表示移动到下一个位置
}
return t;//返回提取字符串的数字,并且将该数字转换为整形后的结果
}
提取字符串的数字,并转换为整形的数字进行返回 c语言 简单易懂
最新推荐文章于 2024-04-23 09:29:48 发布