利用指针将C语言中字符串中的数字取出

将字符串中的数字取出;
比如说:
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;也是放在最上边;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值