go语言将字符串转为正数 go 字符串函数

写一个函数:将一个数字字符串转换成一个整数

#include stdio.h

站在用户的角度思考问题,与客户深入沟通,找到海伦网站设计与海伦网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、网站建设、企业官网、英文网站、手机端网站、网站推广、申请域名虚拟主机、企业邮箱。业务覆盖海伦地区。

#include string.h

long  fun ( char *p)

{

int len,t;

long x=0;

len=strlen(p);

if(p[0]=='-')

{t=-1;len--;p++;}

else t=1;

while(*p)

x=10*x+(*p-48),p++;

return x*t;

}

main()   /* 主函数 */

{ char s[6];void NONO ();

long    n;

printf("Enter a string:\n") ;

gets(s);

n = fun(s);

printf("%ld\n",n);

NONO (  );

}

扩展资料:

printf()函数的用法

1、printf()函数的调用格式为:printf("lt;格式化字符串gt;",lt;参量表gt;);

//__stdcall

int __cdecl printf(const char*p,...);

可变参数

printf在打印浮点数,不论原来是双精度还是单精度,都变为双精度(8字节)

打印1字节(char)2字节(short)4字节(int)==gt;4字节,除了long long(8字节)

void main()

{

为什么数字字符串转换为整数要写 if(*p ='-' ) { flag = 0; p++;

比如一个字符串

char* p = "-2888";

if(*p=='-')用来判断字符串的第一个字符是不是负号“-”。

如果楼主是新手,我这里需要解释:*p等价于p[0],用来取字符串的第一个字符

================

他的程序的原理是用了字符串的数字和ASCII码的对应关系。

你给他一个字符串,它先判断是正数还是负数,然后把后面的字符串中的数字转换为

数字,作为绝对值,最后再把这个数的符号加上

编程:将一个数字字符串转换成一个整数(不得调用C语言提供的将字符串转换为整数的函数)。

思路:先判定字符串第一位是否为符号,“+”或没有则符号为正(1),“-”则符号为负(-1)。然后每一位的数值是ASCII值减去48。计算公式为:123=12*10+3=(1*10+2)*10+3.

#include stdio.h

int atoi_(char *p)

{ int a = 0;

int b = 0;

int i = 0;

int j = 0;

int sign = 1;

if (*p =='+')

p = p+1;//判定首位是否为正号。指针指到符号后面。

if (*p == '-')//判定首位是否是负号。

{

p = p+1;

sign = -1;//符号标识符为-1.

}

while (*(p+i) = 48 *(p+i) = 57)

{

i++; //计算一共多少位数字。

}

for (j = 0;j i;j++)

{

b = *(p+j)-48;

a = a*10+b;

}

a = a*sign;//计算出来的数字乘以前面判定的符号。

return a;

}

int main(void)//主函数。

{ char str1[10] = "";

int a;

printf("请输入字符串str1 = ");

gets(str1);

a = atoi_(str1);//调用atoi_函数。

printf("the number is %d.\n",a);

return 0;

}

编写函数int atoi(char*s).将字符串 s转换为整型数返回,要求简单一点

atoi函数实现及测试代码。

#includestdio.h

int atoi(const char* p)

{

bool neg_flag = false;// 默认为0,即正数

int res = 0;// 结果

if(p[0] == '+' || p[0] == '-')

neg_flag = (*p++ != '+');//负号为1,正号为0

while(*p='0' *p='9')

res = res*10 + (*p++ - '0');

return neg_flag ?0 -res : res;

}

void main()

{

char ch[100];

printf("请输入数字,可以有正负号和小数点,输入q结束:");

gets(ch);

while(ch[0]!='q')

{

printf("您输入的整数为%d\n",atoi(ch));

printf("请输入数字,可以有正负号和小数点,输入q结束:");

gets(ch);

}

}


文章标题:go语言将字符串转为正数 go 字符串函数
URL标题:http://scyanting.com/article/hiechs.html