您的位置:

c语言符串整数,c语言整数符号

本文目录一览:

c语言中实现输入一个数字字符,然后转换成整数数字输出.怎么做?

字符串转整数可以有两种方法:

1.使用c语言自带的库函数:atoi。

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

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

例如:

#include stdlib.h

#include stdio.h 

int main(void)

{

    int n;

    char *str = "12345";

    n = atoi(str);

    printf("int=%d\n",n);

    return 0;

}

/*

输出:

int = 12345

*/

2.可以自己编写一个转换函数:

#include stdio.h

#include stdlib.h

int atoi(char *s)

{

int t=0;

while(*s){

t=t*10+*s-'0';

s++;

}

return(t);

}

int main ()

{

char a[]="12345";

int n = atoi(a);

printf("n=%d ",n);

return 0;

}

/*

输出:

n = 12345

*/

c语言中如何将字符串转化成整数型并输出?

在C语言中将字符串转化成整型有两种方法。

1 用atoi函数。

atoi的功能就是将字符串转为整型并返回。其声明为

int atoi(char *str);

比如atoi("1234");会返回整型1234。

2 用sscanf。

sscanf与标准格式化输入函数scanf类似,不过源并非是标准输入,而是字符串。

用sscanf可以处理更复杂的字符串。

比如字符串char * str = "a=1, b=2";

定义int a,b;后

可以用

sscanf(str,"a=%d, b=%d",a,b);

来将a,b值提取,计算后,a=1, b=2。

c语言中字符型整数常用格式有那些?

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列的左侧,右边补空格.nm,那么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.这种格式用的不多.