将字符串中的数字取出;
比如说:
char word = “1234”;
int a;
令a = 1234;因为a定义的是int型所以不能直接让a = word;
#include<stdio.h>
#include<stdlib.h>
#include <ctype.h>
main()
{
char word1[] = "1234";
//这个地方也可以直接 char *s1 = "1234";
char *s1 = word1;
int num = 0;
while(*s1)//遍历s1中的每个元素
{
if(isdigit( *s1)) //isdigit(*s1)的作用是判断s1的首个元素内容是不是0-9之间的阿拉伯数字
{
num = num*10+*s1-'0';//s1-'0',是把数字在字符串中的ASCII码取出转化成数字;
s1++;//将字符串的指针向后移动一个字符
}
}
printf("num的值是:%d\n",num);
system("pause"); //头文件是#include<stdlib.h> 防止程序闪退
//上面的循环除了用while也可以用for
//比如说:
int a;//这个地方的int a应该放在最上边,要不然可能报错;
for(a = 0;a < sizeof(s1);a++;)
{
if(isdigit( *s1)) //isdigit(*s1)的作用是判断s1的首个元素内容是不是0-9之间的阿拉伯数字
{
num = num*10+*s1-'0';//s1-'0',是把数字在字符串中的ASCII码取出转化成数字;
s1++;//将字符串的指针向后移动一个字符
}
}
//for循环中我只是复制了上面while循环中的内容;至于num变量在用到时应该重新换一个变量,记得初始值赋值为0;比如int num2 =0;也是放在最上边;
}