C语言字符转换成整形的方法是什么?

Python013

C语言字符转换成整形的方法是什么?,第1张

两种方法:一种是使用使用atoi函数。第二种是使用格式化输出。

atoi函数:函数原型:int atoi(const char *nptr)

功能:把字符串转换成整型数。

参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。否则,返回零。

附上代码:#include "stdio.h"#include "stdlib.h"#include "conio.h"void main(){char str[1024] = {0}int Intergerprintf("输入一个数字:\n")scanf("%s", str)sscanf(str, "%d", &Interger)printf("转换为整形:%d\n", Interger)getch()}

1.d格式符,用来输出十进制整数.⑴%d,按整型数据的实际长度输出.⑵%md,m为指定的输出字段的宽度,数据位数小于m,左边补空格,若大于m,按实际长度输出⑶%ld,输出长整型数据(long)2.o格式符,以八进制输出整数(不带符号,他将符号位也作为八进制数的一部分了)⑴%o,参考%d的解释.⑵%lo,参考%ld的解释.⑶%mo,参考%md的解释.3.x,X格式符,以十六进制输出整数也是3种参考%d的解释.4.u格式符,用来将unsigned型数据,既无符号数,以十进制形式输出5.c格式符,输出一个字符.6.s格式符,输出一个字符串.⑴%s,如printf("%s","CHINA")⑵%ms,输出的字符串占m列,字符串长度小于m,左边补空格,如果超出则全部输出.⑶%-ms,串小于m,则在m列范围内字符串左靠,右补空格.⑷%m.ns,输出占m列,但只取字符串左端n个字符.这n个字符输出在m列的右边,然后左边补空格.⑸%-m.ns,和上面的放下,就是n个字符输出在m列的左侧,右边补空格.n>m,那么m自动取n的值,既保证n个字符正常输出.7.f格式符,用来输出实数,以小数形式输出.⑴%f,全部输出,而且输出6位小数.⑵%m.nf,输出数据共占m列,n位小数,如果数据长度小于m那么左边补空格⑶%-m.nf,和上面的m.nf相反,为左靠齐,右补空格.8.e,E格式符,以指数形式输出实数⑴%e,不指定输出数据所占的宽度和数字部分的小数位数.⑵%m.ne和%-m.ne,这里n指小数部分的位数9.g,G格式符,用来输出实数,它根据数值大小,自动选择f格式还是e格式,(选占宽最少的一种),且不输出无意义的0.这种格式用的不多.