头文件stdlib.h

针对上次“计算输入数据的总分及平均分”运用到的结构体数组代码进行优化。

优化涉及头文件——stdlib.h

  1. 建立好此类头文件;
  2. 运用

函数调用形式:
num=atof(string);
功能描述及相应示例:

  1. 返回字符数组string内容转换的双精度浮点数
    atof("-12.3456")返回-12.3456
  2. 遇到不合法的字符则不合法字符后续字符不再处理。
    atof("-12.34-56")返回-12.34
  3. 如果第1个字符就不合法,则值为0;
    atof("–12.3456")返回0

num=atoi(string);
功能描述及相应示例:
4. 返回字符数组string内容转换的整型数
atoi("-123456")返回-123456
5. 遇到不合法的字符则不合法字符后续字符不再处理。
atoi("-12.3456")返回-12
6. 如果第1个字符就不合法,则值为0.
atoi("–12.3456")返回0

num=atol(string);
功能描述及相应示例:
7. 返回字符数组string内容转换的长整型数
8. 遇到不合法的字符则不合法字符后续字符不再处理。
9. 如果第1个字符就不合法,则值为0.
示例与atoi相同

使用gets读入数据时,若键入的字符数据超过数组宽度,会出现缓冲区溢出这类错误,同样函数strcpy、strcat也能导致同样错误。因此可以使用函数限制字符串长度

以下为限制字符串长度函数(需要头文件string.h):
函数调用形式:

  1. fgets(string,n,stdin);
    功能描述及其说明:
    将输入缓冲区(stdin)中前n-1个字符读入到string字符数组内

2.strncpy(string1,string2,n);
功能描述及其说明:
将字符数组string2中最多前n个字符拷贝到字符数组string1中

3.strncat(string1,string2,n);
功能描述及其说明:
将字符数组string2中最多前n个字符连接到string1字符数组后面,string1的字符结束符’\0’被覆盖。

4.strncmp(string1,string2,n);
功能描述及其说明:
最多比较两个字符串前n个字符;

猜你喜欢

转载自blog.csdn.net/yooppa/article/details/113190033