#include <stdlib.h> 三个都是这个库里面的函数
atof()函数用于将字符串转换为浮点数。
语法:
double atof (const char* str);
参数:
str – 要转换的字符串。
返回值:
返回转换后的浮点数。
atof() 函数将字符串 str 转换成 double 型数,并将结果返回。
如果转换失败,它将返回 0.0。
例如,下面的实例将字符串 “99.12” 转换成浮点数:
#include <stdio.h>#include <stdlib.h>int main(){char str[30] = "99.12";double val;val = atof(str);printf("字符串 = %s, 浮点数 = %f\n", str, val);return 0;}
输出:
字符串 = 99.12, 浮点数 = 99.120000
atoi()函数用于将字符串转换为整数。
语法:
int atoi (const char* str);
参数:
str – 要转换的字符串。
返回值:
返回转换后的整数。
atoi() 函数将字符串 str 转换成 int 型数,并将结果返回。
如果转换失败,它将返回 0。
例如,下面的实例将字符串 “100” 转换成整数:
#include <stdio.h>#include <stdlib.h>int main(){char str[30] = "100";int val;val = atoi(str);printf("字符串 = %s, 整数 = %d\n", str, val);return 0;}
输出: 字符串 = 100, 整数 = 100
atol()函数用于将字符串转换为长整数。
语法:
long atol (const char* str);
参数:
str – 要转换的字符串。
返回值:
返回转换后的长整数。
atol() 函数将字符串 str 转换成 long 型数,并将结果返回。
如果转换失败,它将返回 0。
例如,下面的实例将字符串 “100” 转换成长整数:
#include <stdio.h>#include <stdlib.h>int main(){char str[30] = "100";long val;val = atol(str);printf("字符串 = %s, 长整数 = %ld\n", str, val);return 0;}
输出: 字符串 = 100, 长整数 = 100
看到这里,你可能会疑惑,好像将字符串转换成别的数据类型好像没有什么意义.但是楼主使用场景主要是用在linux的gcc编译器还有单片机的串口调试助手输入指令,因为单片机调试初始值scanf用不了,只能编译时就加入参数,但是参数只能是字符,所以需要转换类型才有这个使用要求.因为在使用gcc编译器时,输入的是一个字符.下面给大家举个例子讲解一下main函数的2个参数
C语言中的main函数有2个参数:
argc:它是一个整数,代表程序的参数个数,它的值等于程序运行时传递给main函数的参数个数加1(程序本身也算一个参数)。
argv:它是一个字符串数组,它的每个元素都是一个由空格分隔的字符串,它的值就是程序运行时传递给main函数的参数。
下面我们写个代码解释一下
#include <stdio.h>#include <stdlib.h> int main(int argc, char *argv[]){if(argc>1){unsigned int loopnum = 0, x=6, i;loopnum = atoi(argv[1]);printf("%d\n", loopnum);for (i = 0; i < loopnum; i++){printf("x * i= %d\n",6*i);}}if(argc>2){unsigned int loopnum = 0, x=6, i;loopnum = atoi(argv[2]);printf("%d\n", loopnum);for (i = 0; i < loopnum; i++){printf("x * i= %d\n",6*i);}}}
这里我们用linux的gcc编译器编译
linux指令 $gcc main.c -o main
生产main可执行文件
执行可执行文件main
linux指令 $./main 3 5
这里面 ./main 是argv[0] 用空格隔开 3表示argv[1] 5表示argv[2]
判断条件argc>1 , argc>2. 第一个参数就是./main,为第0个,3位第一个,5为第二个
函数输出值:
3
x * i= 0
x * i= 6
x * i= 12
5
x * i= 0
x * i= 6
x * i= 12
x * i= 18
x * i= 24