首页
前端面试题
前端报错总结
电子书
更多
插件下载
Search
1
JavaScript基础(二)操作符 流程控制
42 阅读
2
HTML基础
20 阅读
3
Vue基础
17 阅读
4
wctype.h
14 阅读
5
Vue2(知识点)
13 阅读
默认分类
HTML CSS
HTML基础
CSS
HTML5 CSS3
javaScript
javaScript基础
javaScript高级
Web APIs
jQuery
js小总结
WEB开发布局
Vue
PS切图
数据可视化
Git使用
Uniapp
c语言入门
标准库
嵌入式
登录
Search
liuxiaobai
累计撰写
108
篇文章
累计收到
12
条评论
首页
栏目
默认分类
HTML CSS
HTML基础
CSS
HTML5 CSS3
javaScript
javaScript基础
javaScript高级
Web APIs
jQuery
js小总结
WEB开发布局
Vue
PS切图
数据可视化
Git使用
Uniapp
c语言入门
标准库
嵌入式
页面
前端面试题
前端报错总结
电子书
插件下载
搜索到
20
篇与
的结果
2023-09-20
ctype.h
ctype.hctype.h头文件定义了一系列字符处理函数的原型。字符测试函数这些函数用来判断字符是否属于某种类型。isalnum():是否为字母数字isalpha():是否为字母isdigit():是否为数字isxdigit():是否为十六进制数字符islower():是否为小写字母isupper():是否为大写字母isblank():是否为标准的空白字符(包含空格、水平制表符或换行符)isspace():是否为空白字符(空格、换行符、换页符、回车符、垂直制表符、水平制表符等)iscntrl():是否为控制字符,比如 Ctrl + Bisprint():是否为可打印字符isgraph():是否为空格以外的任意可打印字符ispunct():是否为标点符号(除了空格、字母、数字以外的可打印字符)它们接受一个待测试的字符作为参数。注意,参数类型为int,而不是char,因为它们允许 EOF 作为参数。如果参数字符属于指定类型,就返回一个非零整数(通常是1,表示为真),否则返回0(表示为伪)。下面是一个例子,用户输入一个字符,程序判断是否为英文字母。#include <stdio.h> #include <ctype.h> int main(void) { char ch = getchar(); if (isalpha(ch)) printf("it is an alpha character.\n"); else printf("it is not an alpha character.\n"); return 0; }字符映射函数这一类函数返回字符的某种对应形式,主要有两个函数。tolower():如果参数是大写字符,返回小写字符,否则返回原始参数。toupper():如果参数是小写字符,返回大写字符,否则返回原始参数。// 将字符转为大写 ch = toupper(ch);注意,这两个函数不会改变原始字符。
2023年09月20日
3 阅读
0 评论
0 点赞
2023-09-20
assert.h
assert.hassert()assert.h头文件定义了宏assert(),用于在运行时确保程序符合指定条件,如果不符合,就报错终止运行。这个宏常常被称为“断言”。assert(PI > 3);上面代码在程序运行到这一行语句时,验证变量PI是否大于3。如果确实大于3,程序继续运行,否则就会终止运行,并且给出报错信息提示。assert()宏接受一个表达式作为参数。如果该表达式为真(返回值非零),assert()不会产生任何作用,程序继续运行。如果该表达式为假(返回值为零),assert()就会报错,在标准错误流stderr中写入一条错误信息,显示没有通过的表达式,以及包含这个表达式的文件名和行号。最后,调用abort()函数终止程序(abort()函数的原型在stdlib.h头文件中)。z = x * x - y * y; assert(z >= 0);上面的assert()语句类似于下面的代码。if (z < 0) { puts("z less than 0"); abort(); }如果断言失败,程序会中断执行,会显示下面的提示。Assertion failed: (z >= 0), function main, file /Users/assert.c, line 14.上面报错的格式如下。Assertion failed: [expression], function [abc], file [xyz], line [nnn].上面代码中,方括号的部分使用实际数据替换掉。使用assert()有几个好处:它不仅能自动标识文件和出问题的行号,还有一种无需更改代码就能开启或关闭assert()的机制。如果已经确认程序没有问题,不需要再做断言,就在#include <assert.h>语句的前面,定义一个宏NDEBUG。#define NDEBUG #include <assert.h>然后,重新编译程序,编译器就会禁用文件中所有的assert()语句。如果程序又出现问题,可以移除这条#define NDBUG指令(或者把它注释掉),再次编译,这样就重新启用了assert()语句。assert()的缺点是,因为引入了额外的检查,增加了程序的运行时间。static_assert()C11 引入了静态断言static_assert(),用于在编译阶段进行断言判断。static_assert(constant-expression, string-literal);static_assert()接受两个参数,第一个参数constant-expression是一个常量表达式,第二个参数string-literal是一个提示字符串。如果第一个参数的值为false,会产生一条编译错误,第二个参数就是错误提示信息。static_assert(sizeof(int) == 4, "64-bit code generation is not supported.");上面代码的意思是,如果当前计算机的int类型不等于4个字节,就会编译报错。注意,static_assert()只在编译阶段运行,无法获得变量的值。如果对变量进行静态断言,就会导致编译错误。int positive(const int n) { static_assert(n > 0, "value must > 0"); return 0; }上面代码会导致编译报错,因为编译时无法知道变量n的值。static_assert()的好处是,尽量在编译阶段发现错误,避免运行时再报错,节省开发时间。另外,有些assert()断言位于函数之中,如果不执行该函数,就不会报错,而static_assert()不管函数是否执行,都会进行断言判断。最后,static_assert()不会生成可执行代码,所以不会造成任何运行时的性能损失。
2023年09月20日
3 阅读
0 评论
0 点赞
1
...
6
7