把字符串转换为整数

来源:百度知道 编辑:UC知道 时间:2024/05/22 11:16:01
把字符串转换为整数 例如:"-123" -> -123

main()
{
.....
if( *string == '-' )
n = ____1______;
else
n = num(string);
.....
}

int num(char* string)
{
for(;!(*string==0);string++)
{
int k;
k = __2_____;
j = --sLen;
while( __3__)
k = k * 10;
num = num + k;
}
return num;
}
三楼的gg能不能简单说一下这段程序的原理

main()
{
.....
if( *string == '-' )
n =-num(string); //(1)
else
n = num(string);
.....
}

int num(char* string)
{
for(;!(*string==0);string++)
{
int k;
k = *string-'0';//(2)
j = --sLen;
while(k>=0&&k<=9) //(3)
k = k * 10;
num = num + k;
}
return num;
}

/* 试下这个,呵呵 */

#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int n;
char *str = "12345.67";
n = atoi(str);
printf("string = %s integer = %d\n", str, n);
return 0;
}

直接用"atoi()"就可以了
整数转字符串就是itoa()