返回非整数的函数(输入一串数字,改变其形式以计数)

本文剖析了一个用于将字符数组表示的自然数转换为整数的C语言函数,包括正负判断和数值转换过程。

程序如下:

 

#include <ctype.h>

 

int change(char a[ ])

{

     int i,sign,n;

     i=0;

     if a[i]='-'  sign=-1;

     else sing=1;

     if (a[i]='-' || a[i]='+')

          i++;

     for (n=0 ; isdigit(a[i]) ; i++ ;)

          n=10*n+a[i]-'0';

     return sign*n;

}

 

新函数:

       isdigit( )  判断字符是否为数字,如果是返回0,如果不是返回非零数。

 

剖析:

       这是个记数的程序(在C语言中已经编译好的程序,原名atoi[( ))。在C语言中,输入的任何东西都是字符。这个程序就是把输入的自然数(a[ ] ,类型是char)改成int。程序分两块:

       ·判断正负

       ·改变形式

这两块中还包含一个if语句,用处是将标记 i 跳过最开头的-或+。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值