atoi()

atoi的作用?在网上看了一些,讲的是将字符串转换为整型。但是在这里我个人认为应该强调一下是将带有整型的字符串转换为整型。由下列代码可知

#include<stdio.h>
int main(void)
{
    char buf[20]="123";
    printf("%d\n",atoi(buf));
    return 0;
}

编译运行结果为:
123
得出结果之后大家肯定想验证一下字符类型的字符串,只要增加一行代码就可以了

#include<stdio.h>
int main(void)
{
    char buf[20]="123";
	char buff[20]="abc";
    printf("%d\n%d\n",atoi(buf),atoi(buff));
    return 0;
}

编译运行结果为:
123
0
所以说什么时候用atoi?当得到的一串数字是字符串类型,而我此时又需要该串数字作为整型使用时就要用到atoi了。
字符串类型“12345”占5个字节//不要想当然的直接把带整型的字符串当整型使用
整型12345占4个字节

当然,该字符串是”abc123“这种组合类型的字符串还是”123“这种纯整形的字符串都是可以转换的
需要注意的是………………atoi工作的时候是从字符串第一位开始转换,遇到非整型结束转换。
由以下代码理解

#include<stdio.h>
int main(void)
{
    char buf[20]="abc123";
	char buff[20]="123abc";
	char Buf[20]="123abc123";
	
    printf("%d\n%d\n%d\n",atoi(buf),atoi(buff),atoi(Buf));
    return 0;
}

编译运行结果为:
0
123
123
第一个字符串从a开始,判断a不是整型所以结束
第二个字符串从1开始,判断1是整型继续判断下去,判断a不是整型结束
第三个字符串从1开始,判断1是整型继续判断下去,判断a不是整型结束,虽然c后面还有整型字符,但是不会起作用

猜你喜欢

转载自blog.csdn.net/AKDMMQ/article/details/82748412
今日推荐